Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Writing to files (echo, printf) in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the command echo "Hello" > file.txt do in bash?
It writes the text "Hello" into the file named file.txt. If the file exists, it replaces its content. If not, it creates the file.
Click to reveal answer
beginner
How do you append text to a file using echo?
Use the append operator >> like echo "More text" >> file.txt. This adds the text at the end without deleting existing content.
Click to reveal answer
intermediate
Why might you use printf instead of echo for writing to files?
printf gives more control over formatting, like adding new lines, tabs, or controlling number formats, which echo may handle inconsistently across systems.
Click to reveal answer
beginner
What is the difference between echo "text" > file.txt and echo "text" >> file.txt?
The first command overwrites the file with "text". The second command adds "text" to the end of the file without removing existing content.
Click to reveal answer
intermediate
How can you write multiple lines to a file using printf?
Use printf with newline characters, for example: printf "Line1\nLine2\n" > file.txt writes two lines into the file.
Click to reveal answer
Which operator is used to append text to a file in bash?
A>
B<
C|
D>>
What will echo "Hello" > file.txt do if file.txt already contains text?
AOverwrite the file with "Hello"
BShow an error
CDelete the file
DAdd "Hello" at the end
Which command gives more control over formatting when writing to files?
Aecho
Bcat
Cprintf
Dls
How do you write multiple lines to a file using echo?
Aecho "Line1" > file.txt; echo "Line2" >> file.txt
BAll of the above
Cecho "Line1" >> file.txt; echo "Line2" >> file.txt
Decho -e "Line1\nLine2" > file.txt
What does the command printf "Hello\nWorld" > file.txt do?
AWrites 'Hello' and 'World' on two separate lines
BWrites 'Hello World' on one line
CAppends 'Hello' and 'World' to the file
DShows an error
Explain how to write and append text to a file using bash commands.
Think about how you save notes in a notebook: writing fresh or adding more.
You got /3 concepts.
    Describe when and why you would use printf instead of echo for writing to files.
    Consider needing exact layout or special characters in your text.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which command in bash writes the text Hello World to a file named greeting.txt and adds a newline automatically?
      easy
      A. echo "Hello World" > greeting.txt
      B. printf "Hello World" > greeting.txt
      C. echo -n "Hello World" > greeting.txt
      D. printf "Hello World\n" > greeting.txt

      Solution

      1. Step 1: Understand echo behavior

        The echo command prints text and adds a newline by default.
      2. Step 2: Compare with printf

        printf requires explicit newline characters to add a newline.
      3. Final Answer:

        echo "Hello World" > greeting.txt -> Option A
      4. Quick Check:

        echo adds newline automatically = A [OK]
      Hint: Use echo for quick writes with newline [OK]
      Common Mistakes:
      • Using printf without \n misses newline
      • Using echo -n suppresses newline
      • Confusing > and >> operators
      2. Which of the following is the correct syntax to append the line Log entry to a file log.txt using printf?
      easy
      A. printf "Log entry" >> log.txt
      B. printf -n "Log entry" >> log.txt
      C. printf "Log entry\n" >> log.txt
      D. printf -e "Log entry" >> log.txt

      Solution

      1. Step 1: Understand printf newline requirement

        printf does not add newline automatically; you must include \n explicitly.
      2. Step 2: Check append operator

        >> appends to the file without overwriting.
      3. Final Answer:

        printf "Log entry\n" >> log.txt -> Option C
      4. Quick Check:

        printf needs \n for newline + append with >> = C [OK]
      Hint: Always add \n with printf to get a new line [OK]
      Common Mistakes:
      • Forgetting \n causes no newline
      • Using > instead of >> overwrites file
      • Using invalid printf flags like -n or -e
      3. What will be the content of file.txt after running this script?
      echo "Line1" > file.txt
      printf "Line2\n" >> file.txt
      echo -n "Line3" >> file.txt
      medium
      A. Line1\nLine2Line3
      B. Line1\nLine2\nLine3\n
      C. Line1Line2Line3
      D. Line1\nLine2\nLine3

      Solution

      1. Step 1: Analyze echo "Line1" > file.txt

        This writes "Line1" plus newline to file.txt, overwriting existing content.
      2. Step 2: Analyze printf "Line2\n" >> file.txt

        This appends "Line2" plus newline to file.txt.
      3. Step 3: Analyze echo -n "Line3" >> file.txt

        This appends "Line3" without newline to file.txt.
      4. Final Answer:

        Line1\nLine2\nLine3 -> Option D
      5. Quick Check:

        echo adds newline, printf adds newline, echo -n no newline = D [OK]
      Hint: Remember echo -n skips newline, printf needs explicit \n [OK]
      Common Mistakes:
      • Assuming echo -n adds newline
      • Forgetting printf needs \n
      • Confusing overwrite (>) and append (>>)
      4. The following script is intended to write two lines to output.txt but only writes one line. What is the error?
      echo "First line" > output.txt
      printf "Second line" > output.txt
      medium
      A. printf needs \n to add newline
      B. Second command overwrites the file instead of appending
      C. echo should use >> to append
      D. Missing quotes around Second line

      Solution

      1. Step 1: Check file redirection operators

        The first command uses > which creates or overwrites output.txt with "First line".
      2. Step 2: Check second command redirection

        The second command also uses > which overwrites output.txt, replacing previous content.
      3. Step 3: Correct approach

        To keep both lines, second command should use >> to append instead of overwrite.
      4. Final Answer:

        Second command overwrites the file instead of appending -> Option B
      5. Quick Check:

        Using > twice overwrites file = D [OK]
      Hint: Use >> to append, > overwrites file [OK]
      Common Mistakes:
      • Thinking \n missing causes no second line
      • Confusing > and >> operators
      • Assuming echo always appends
      5. You want to create a file report.txt with exactly two lines:
      "Summary:"
      "All tests passed"
      Which script snippet correctly creates this file with proper newlines and no extra blank lines?
      hard
      A. printf "Summary:\nAll tests passed\n" > report.txt
      B. echo "Summary:" > report.txt && echo "All tests passed" > report.txt
      C. echo -n "Summary:\nAll tests passed" > report.txt
      D. printf "Summary:" > report.txt && printf "All tests passed" >> report.txt

      Solution

      1. Step 1: Check echo commands in echo "Summary:" > report.txt && echo "All tests passed" > report.txt

        echo "Summary:" > report.txt && echo "All tests passed" > report.txt uses echo twice with > redirection, so the second command overwrites the first line.
      2. Step 2: Check printf commands in printf "Summary:\nAll tests passed\n" > report.txt

        printf "Summary:\nAll tests passed\n" > report.txt uses printf with explicit \n for newlines, creating exactly two lines with no extra blank lines.
      3. Step 3: Analyze Options C and D

        echo -n "Summary:\nAll tests passed" > report.txt uses echo -n which suppresses newlines and includes literal \n, so no actual new lines appear. printf "Summary:" > report.txt && printf "All tests passed" >> report.txt uses printf without \n, so lines run together.
      4. Final Answer:

        printf "Summary:\nAll tests passed\n" > report.txt -> Option A
      5. Quick Check:

        printf with explicit \n creates exact lines = B [OK]
      Hint: Use printf with \n for precise multi-line output [OK]
      Common Mistakes:
      • Using echo -n with \n prints literal \n
      • Forgetting \n in printf causes no new lines
      • Using > and >> inconsistently
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard