Skip to content
Clairos Learn

Shell scripting · Lesson 2 of 31 · 8 minutes

Script-style output

Use printf to create predictable script output.

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

Junior operators build confidence by gathering evidence before changing systems.

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.

cat
Read one or more files to standard output without editing their contents.

Reading a source file should precede changing it; avoid printing real secrets.

wc
Count input. -l counts newline characters, -w counts whitespace-delimited words, and -c counts bytes.

Text without a final newline may have fewer counted lines than visible rows.

Worked example and expected result
$ printf deploy-start | tee lab/deploy-output.txt
deploy-start

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

$ cat lab/deploy-output.txt
deploy-start

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

$ wc -l lab/deploy-output.txt
0 lab/deploy-output.txt

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-style output”, which interpretation is safe?

Apply it elsewhere

Before adapting the cat workflow from “Script-style output” to another server, what should you do?

Keep the momentum.

Complete the lab, then explain and apply the pattern.

Next: Test guardsTry 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. 01Script shebang reviewRead a script header and metadata before execution.Practice
  2. 02Test guardsUse test commands as script-style guards.Practice
  3. 03Basename in scriptsUse basename to report script inputs.Practice