Bird
Raised Fist0
Jenkinsdevops~5 mins

Shell steps (sh, bat) in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the sh step in a Jenkins pipeline?
The sh step runs shell commands on Unix/Linux agents within a Jenkins pipeline.
Click to reveal answer
beginner
How do you run a batch script on a Windows agent in Jenkins pipeline?
Use the bat step to run batch commands or scripts on Windows agents.
Click to reveal answer
beginner
What is the difference between sh and bat steps in Jenkins?
sh runs shell commands on Unix/Linux agents, while bat runs batch commands on Windows agents.
Click to reveal answer
intermediate
How can you capture the output of a shell command in Jenkins pipeline using sh?
Use def output = sh(script: 'command', returnStdout: true).trim() to capture and trim the output.
Click to reveal answer
intermediate
What happens if a command run by sh or bat fails in Jenkins pipeline?
The pipeline step fails and the build stops unless you handle errors explicitly.
Click to reveal answer
Which Jenkins pipeline step runs shell commands on Linux agents?
Acmd
Bbat
Cpowershell
Dsh
Which step should you use to run Windows batch commands in Jenkins pipeline?
Ash
Bbat
Cbash
Dshell
How do you get the output of a shell command in Jenkins pipeline?
Abat(script: 'cmd', returnOutput: true)
Bsh('cmd')
Csh(script: 'cmd', returnStdout: true)
Dbat('cmd')
What happens if a shell command fails in Jenkins pipeline without error handling?
AThe pipeline step fails and build stops
BThe pipeline continues
CThe command is retried automatically
DThe error is ignored
Which of these is NOT a valid Jenkins pipeline shell step?
Acmd
Bbat
Cpowershell
Dsh
Explain how to run shell commands on Linux and batch commands on Windows in Jenkins pipelines.
Think about the agent OS and matching step.
You got /3 concepts.
    Describe how to capture the output of a shell command in Jenkins pipeline and why it might be useful.
    Focus on the <code>sh</code> step options.
    You got /3 concepts.

      Practice

      (1/5)
      1. In Jenkins pipelines, which shell step should you use to run a command on a Linux agent?
      easy
      A. bat
      B. sh
      C. cmd
      D. powershell

      Solution

      1. Step 1: Understand Jenkins shell steps

        Jenkins uses sh to run shell commands on Linux/macOS agents.
      2. Step 2: Identify the correct shell for Linux

        Since Linux uses bash or sh shells, sh is the correct step.
      3. Final Answer:

        sh -> Option B
      4. Quick Check:

        Linux shell step = sh [OK]
      Hint: Use sh for Linux/macOS, bat for Windows agents [OK]
      Common Mistakes:
      • Using bat on Linux agents
      • Confusing cmd with sh
      • Using powershell on non-Windows agents
      2. Which of the following is the correct syntax to run a Windows batch command in a Jenkins pipeline?
      easy
      A. sh 'dir'
      B. cmd 'dir'
      C. powershell 'dir'
      D. bat 'dir'

      Solution

      1. Step 1: Identify Windows shell step in Jenkins

        Jenkins uses bat to run Windows batch commands.
      2. Step 2: Match syntax for batch command

        The correct syntax is bat 'command', so bat 'dir' is correct.
      3. Final Answer:

        bat 'dir' -> Option D
      4. Quick Check:

        Windows batch command = bat [OK]
      Hint: Use bat for Windows commands in Jenkins pipelines [OK]
      Common Mistakes:
      • Using sh for Windows commands
      • Using cmd which is not a Jenkins step
      • Using powershell without proper syntax
      3. What will be the output of this Jenkins pipeline snippet on a Linux agent?
      sh 'echo Hello Jenkins'
      medium
      A. Hello Jenkins
      B. sh: command not found
      C. echo Hello Jenkins
      D. Syntax error

      Solution

      1. Step 1: Understand the sh step execution

        The sh step runs the command inside quotes on the Linux shell.
      2. Step 2: Predict command output

        The command echo Hello Jenkins prints the text 'Hello Jenkins' to the console.
      3. Final Answer:

        Hello Jenkins -> Option A
      4. Quick Check:

        sh echo outputs text [OK]
      Hint: sh runs commands and prints their output on Linux [OK]
      Common Mistakes:
      • Expecting the command itself as output
      • Confusing syntax error with correct command
      • Assuming sh step fails on Linux
      4. You wrote this Jenkins pipeline step:
      bat 'echo Hello from Linux'
      But it runs on a Linux agent and fails. What is the problem?
      medium
      A. bat is for Windows, not Linux
      B. echo command is invalid
      C. Missing quotes around command
      D. Pipeline syntax error

      Solution

      1. Step 1: Identify shell step and agent OS mismatch

        The bat step runs Windows batch commands, but the agent is Linux.
      2. Step 2: Understand why failure occurs

        Linux agents do not support bat, so the step fails.
      3. Final Answer:

        bat is for Windows, not Linux -> Option A
      4. Quick Check:

        bat step on Linux = failure [OK]
      Hint: Match shell step to agent OS: bat=Windows, sh=Linux [OK]
      Common Mistakes:
      • Thinking echo is invalid on Linux
      • Assuming quotes cause error
      • Blaming pipeline syntax instead of shell step
      5. You want to write a Jenkins pipeline that runs a shell command on both Windows and Linux agents. Which approach is best?
      hard
      A. Use sh step for all agents
      B. Use bat step for all agents
      C. Use sh for Linux and bat for Windows with if condition
      D. Use powershell step for all agents

      Solution

      1. Step 1: Recognize OS differences in shell steps

        Linux agents require sh, Windows agents require bat.
      2. Step 2: Use conditional logic in pipeline

        Use an if condition to detect OS and run the correct shell step.
      3. Final Answer:

        Use sh for Linux and bat for Windows with if condition -> Option C
      4. Quick Check:

        Conditional shell steps match OS [OK]
      Hint: Use if condition to select sh or bat by OS [OK]
      Common Mistakes:
      • Using one shell step for all OSes
      • Ignoring agent OS detection
      • Using powershell without Windows-only context
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard