A Bash script is meant to run an rsync backup and then send an email report, but the script must always exit with the same status code that rsync produced, even though other commands run afterward. Which code fragment accomplishes this goal?
The special parameter $? is overwritten every time a new command finishes. To preserve rsync's exit status, it has to be captured immediately after rsync runs and before any other command can overwrite it. Storing the value in a variable (e.g., rc=$?) and later using exit $rc guarantees that the script returns the exact status code generated by rsync, no matter what the mail command does. The other fragments either let a later command overwrite $? or rely on set -e / command chaining, which can change the observable exit status or prevent the notification from being sent at all.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
Why does the Bash special parameter `$?` change after each command?
Open an interactive chat with Bash
What does `rc=$?` do in the script?
Open an interactive chat with Bash
What would happen if we didn't capture and preserve the exit status of `rsync`?
Open an interactive chat with Bash
CompTIA Linux+ XK0-006 (V8)
Automation, Orchestration, and Scripting
Your Score:
Report Issue
Bash, the Crucial Exams Chat Bot
AI Bot
Loading...
Loading...
Loading...
IT & Cybersecurity Package Join Premium for Full Access