Bird
Raised Fist0
Linux CLIscripting~5 mins

Shell options (set -e, set -x) in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the shell option set -e do in a script?

set -e makes the script stop running immediately if any command returns an error (non-zero exit code). This helps catch problems early.

Click to reveal answer
beginner
What is the purpose of set -x in a shell script?

set -x turns on debugging mode. It shows each command and its arguments as they run, so you can see what the script is doing step-by-step.

Click to reveal answer
beginner
How can set -e help in real-life scripting?

It stops the script when something goes wrong, like a missing file or failed command. This prevents errors from causing bigger problems later.

Click to reveal answer
intermediate
How do you turn off the effects of set -x in a script?

You use set +x to stop showing commands as they run. This is useful to reduce clutter after debugging.

Click to reveal answer
intermediate
What happens if you run a script with set -e and a command fails inside a loop?

The script will stop immediately at the failed command, even inside loops, unless you handle errors explicitly.

Click to reveal answer
What does set -e do in a shell script?
ARuns the script in the background
BShows each command before running it
CIgnores errors and continues
DStops the script if any command fails
Which option shows commands as they run for debugging?
Aset -e
Bset -x
Cset +e
Dset +x
How do you disable the debugging mode started by set -x?
Aset +x
Bset -n
Cset -e
Dset +e
If a command fails inside a loop with set -e, what happens?
AThe script ignores the error and continues
BThe loop skips the failed command and continues
CThe script stops immediately
DThe loop restarts from the beginning
Why would you use set -e in a script?
ATo stop on errors and avoid unexpected results
BTo speed up the script
CTo debug commands
DTo run commands silently
Explain what set -e and set -x do in a shell script and why they are useful.
Think about error handling and debugging.
You got /4 concepts.
    Describe a situation where using set -e would prevent a problem in a script.
    Imagine a script copying files or installing software.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the shell option set -e do in a script?
      easy
      A. Stops the script immediately if any command returns an error
      B. Prints each command before executing it
      C. Ignores all errors and continues running
      D. Runs the script in the background

      Solution

      1. Step 1: Understand the purpose of set -e

        This option makes the shell stop running the script if any command fails (returns a non-zero exit code).
      2. Step 2: Compare with other options

        set -x prints commands, but set -e stops on errors, so stopping on error is correct.
      3. Final Answer:

        Stops the script immediately if any command returns an error -> Option A
      4. Quick Check:

        set -e stops on error [OK]
      Hint: Remember: 'e' for error stop [OK]
      Common Mistakes:
      • Confusing set -e with set -x
      • Thinking it ignores errors
      • Assuming it runs commands silently
      2. Which of the following is the correct way to enable both set -e and set -x in a shell script?
      easy
      A. set -x e
      B. set -xe
      C. set e -x
      D. set -e x

      Solution

      1. Step 1: Understand combined options syntax

        Shell options can be combined after a single dash, order does not matter, so set -xe works.
      2. Step 2: Check options with spaces

        set e -x is invalid syntax, and set -x e or set -e x set only one option.
      3. Final Answer:

        set -xe -> Option B
      4. Quick Check:

        Combine options after one dash [OK]
      Hint: Combine flags after one dash, order doesn't matter [OK]
      Common Mistakes:
      • Using spaces between flags incorrectly
      • Writing flags without dashes
      • Assuming order matters
      3. Given this script snippet with set -e enabled:
      set -e
      mkdir /tmp/mydir
      cd /tmp/mydir
      false
      echo "This will not print"
      What will be the output when running this script?
      medium
      A. Fails at mkdir and stops immediately
      B. Creates directory, changes directory, prints 'This will not print'
      C. Creates directory, changes directory, then stops at false; no echo output
      D. Runs all commands including echo

      Solution

      1. Step 1: Trace commands with set -e

        The script creates /tmp/mydir, changes into it, then runs false which returns error (non-zero).
      2. Step 2: Effect of set -e on error

        Because set -e stops on any error, the script stops after false and does not run the echo command.
      3. Final Answer:

        Creates directory, changes directory, then stops at false; no echo output -> Option C
      4. Quick Check:

        set -e stops script on error [OK]
      Hint: Remember: script stops at first error with set -e [OK]
      Common Mistakes:
      • Assuming echo runs after error
      • Thinking mkdir fails by default
      • Ignoring effect of set -e
      4. You have this script:
      #!/bin/bash
      set -x
      ls /nonexistent
      pwd
      What is the problem and how to fix it so the script continues after the error?
      medium
      A. No problem; script runs all commands
      B. Problem: script stops on error; fix by removing set -x
      C. Problem: script prints commands; fix by removing set -x
      D. Problem: script stops on error; fix by removing set -e (not set here)

      Solution

      1. Step 1: Analyze script options

        The script uses set -x which prints commands but does not stop on errors. There is no set -e so script continues despite ls error and runs pwd.
      2. Step 2: Identify problem and fix

        Script already continues after error since no set -e. No problem exists.
      3. Final Answer:

        No problem; script runs all commands -> Option A
      4. Quick Check:

        set -x prints commands, set -e stops on error [OK]
      Hint: Remember: set -x prints, set -e stops [OK]
      Common Mistakes:
      • Confusing set -x with set -e
      • Assuming set -x stops script
      • Ignoring missing set -e
      5. You want to debug a script that sometimes fails silently. Which combination of shell options helps you see each command as it runs and stops immediately on errors?
      hard
      A. set -e only
      B. set -x e
      C. set -x only
      D. set -ex

      Solution

      1. Step 1: Understand debugging needs

        To debug, you want to see commands as they run (set -x) and stop on errors (set -e).
      2. Step 2: Combine options correctly

        set -ex enables both correctly.
      3. Final Answer:

        set -ex -> Option D
      4. Quick Check:

        Show commands and stop on error = set -ex [OK]
      Hint: Use both -e and -x together to debug safely [OK]
      Common Mistakes:
      • Using only one option and missing the other
      • Thinking order matters strictly
      • Confusing which option stops or prints
      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