Skip to content
Clairos Learn

Shell scripting · Lesson 26 of 31 · 8 minutes

Script input guard

Use test checks to prove required files and directories exist.

Mastery 0/3Run itExplain itApply it
learner@clairosSimulated Linux lab
learner@clairos:~ $
↑ history · Tab complete · Ctrl+C cancel · Esc, Tab to leaveExit 0

Understand the pattern

Guarding script-style work with explicit preconditions helps operators explain what they know before they change anything.

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.

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.

$ test -d lab
(no output; exit 0)

Exit status: 0. The command completed successfully in the training fixture.

$ stat scripts/deploy.sh
Path: /home/learner/scripts/deploy.sh
Type: file
Mode: -rw-r--r--
Owner: learner
Group: learners
Size: 85 bytes

Exit status: 0. The command completed successfully in the training fixture.

Try a variation

Repeat this workflow in the sandbox with a different scratch filename. Keep the system fixtures unchanged and compare the observed output with your expectation before moving on.

Explain it

In “Script input guard”, which interpretation is safe?

Apply it elsewhere

Before adapting the test workflow from “Script input guard” to another server, what should you do?

Keep the momentum.

Complete the lab, then explain and apply the pattern.

Next: Quoted argument reviewTry an incident drill

Anonymous 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.

Keep learning

  1. 01Shell expanded checkpointComplete a script review from guards to logs.Practice
  2. 02Quoted argument reviewPreserve a multi-word value while capturing predictable output.Practice
  3. 03Predictable output contractCreate machine-readable status lines and verify their shape.Practice