Shell expanded checkpoint
Complete a script review from guards to logs.
Understand the pattern
Junior operators build confidence by gathering evidence before changing systems.
test- Evaluate a file or string condition through its exit status rather than printed output.
A successful test usually prints nothing; inspect $? or chain a command.
grep- Select input lines that match a pattern; -i ignores case, -n adds line numbers, and -v inverts selection.
No matches is exit status 1, which is different from a malformed invocation.
printf- Format data deliberately, including separators and final newlines.
A format string controls output; a newline is data, not an automatic guarantee.
tee- Copy a stream both to a file and standard output; -a appends.
tee can overwrite a file even though the output is also visible on screen.
stat- Inspect a file or directory metadata record, including ownership, permissions, and size.
Metadata and file contents answer different questions.
Worked example and expected result
$ test -f scripts/deploy.sh(no output; exit 0)
Exit status: 0. The command completed successfully in the training fixture.
$ grep "set -eu" scripts/deploy.shset -eu
Exit status: 0. The command completed successfully in the training fixture.
$ printf shell-expanded | tee lab/shell-expanded.txtshell-expanded
Exit status: 0. The command completed successfully in the training fixture.
$ stat lab/shell-expanded.txtPath: /home/learner/lab/shell-expanded.txt Type: file Mode: -rw-r--r-- Owner: learner Group: learners Size: 14 bytes
Exit status: 0. The command completed successfully in the training fixture.
Explain it
Apply it elsewhere
Keep the momentum.
Complete the lab, then explain and apply the pattern.
Next: Script input guardTry an incident drillAnonymous lesson and mastery progress lasts for this session. Sign in to keep synced lesson XP between sessions; mastery stays device-local. No speed bonus, lost lives, or hint penalties.