Specifies a shell which will run inside the container and process requests from Jenkins to run executables, set environment variables, and similar infrastructure.

This does not affect the shell used to run user code, such as sh steps. To run your scripts with a specific shell on Linux, use an interpreter line:

sh '''#!/bin/bash
for x in {0..9}; do echo x; done
'''

or just use a subprocess and an externally versioned script:

sh 'bash ci.sh'

On Windows, choose between the bat or powershell steps.

For a pod running on Linux, defaults to sh, which should be in $PATH; for a pod running on Windows, defaults to cmd, which should be in %Path%. Should not generally be overridden.