Interview › Scripting (Bash, Groovy)
What do set -e, set -u, set -o pipefail, and set -x do? [Basic]
Answer
set -e exits on many unhandled command failures, set -u treats unset variables as errors, set -o pipefail makes a pipeline fail if any command in it fails, and set -x prints commands before execution for debugging.
Technical explanation
set -e reduces accidental continuation after failures, but it has exceptions and should not replace explicit error handling.
set -u catches typos and missing required inputs early.
pipefail is important because otherwise a pipeline usually returns the exit code of only the last command.
Hands-on example
#!/usr/bin/env bash
set -euo pipefail
: "${ENVIRONMENT:?ENVIRONMENT is required}"
if [[ "${DEBUG:-false}" == "true" ]]; then
set -x
fi
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Scripting (Bash, Groovy) interview questions
- What is the purpose of the shebang line, and what does #!/bin/bash do? [Basic]
- What is the difference between sh and bash? [Basic]
- How do you make a script executable and run it? [Basic]
- What is the difference between running a script with ./script.sh, bash script.sh, and source script.sh? [Basic]
- What does sourcing a script do differently from executing it? [Basic]
- How do you declare a variable in Bash, and why are spaces around = not allowed? [Basic]
- What is the difference between $var and ${var}? [Basic]
- What is the difference between single quotes and double quotes in Bash? [Basic]