Bird
Raised Fist0
Bash Scriptingscripting~5 mins

Appending to files (>>) in Bash Scripting

Choose your learning style10 modes available
Introduction
Appending lets you add new information to the end of a file without erasing what is already there.
You want to keep a log of events happening in a script.
You need to add new lines to a configuration file without deleting existing settings.
You want to save multiple outputs from commands into one file over time.
You are collecting user inputs and want to store them one after another in a file.
Syntax
Bash Scripting
command >> filename
The double greater-than sign (>>) adds output to the file without removing existing content.
If the file does not exist, it will be created automatically.
Examples
Adds the word Hello to the end of greetings.txt.
Bash Scripting
echo "Hello" >> greetings.txt
Appends the current date and time to log.txt.
Bash Scripting
date >> log.txt
Adds the list of files in the current folder to files_list.txt.
Bash Scripting
ls >> files_list.txt
Sample Program
This script adds two lines to example.txt and then shows the file content.
Bash Scripting
#!/bin/bash

echo "First line" >> example.txt
echo "Second line" >> example.txt
cat example.txt
OutputSuccess
Important Notes
Using a single > will overwrite the file, deleting previous content.
Make sure you have write permission for the file or folder.
Appending is useful for logs because it keeps old data safe.
Summary
>> adds new content to the end of a file without deleting existing data.
If the file does not exist, it creates it automatically.
Use >> to keep adding information like logs or lists.

Practice

(1/5)
1. What does the >> operator do in bash scripting?
easy
A. It adds new content to the end of a file without deleting existing data.
B. It deletes the file before writing new content.
C. It reads the content of a file.
D. It copies a file to another location.

Solution

  1. Step 1: Understand the operator function

    The >> operator appends data to a file, meaning it adds new content at the end without removing what is already there.
  2. Step 2: Compare with other operators

    Unlike > which overwrites, >> keeps existing content and adds more.
  3. Final Answer:

    It adds new content to the end of a file without deleting existing data. -> Option A
  4. Quick Check:

    >> appends content [OK]
Hint: Remember: double > means add, single > means replace [OK]
Common Mistakes:
  • Confusing >> with > which overwrites files
  • Thinking >> deletes the file first
  • Assuming >> reads file content
2. Which of the following is the correct syntax to append the text "Hello" to a file named greetings.txt?
easy
A. echo Hello < greetings.txt
B. echo Hello > greetings.txt
C. echo Hello >> greetings.txt
D. echo Hello | greetings.txt

Solution

  1. Step 1: Identify the append operator

    To add text to the end of a file, use >> after the command.
  2. Step 2: Match syntax with the command

    echo Hello >> greetings.txt appends "Hello" to the file without deleting existing content.
  3. Final Answer:

    echo Hello >> greetings.txt -> Option C
  4. Quick Check:

    Use >> to append text [OK]
Hint: Use echo text >> filename to append text [OK]
Common Mistakes:
  • Using single > which overwrites the file
  • Using < which is for input redirection
  • Using pipe | incorrectly to write to file
3. What will be the content of log.txt after running these commands?
echo "Start" > log.txt
echo "Step 1" >> log.txt
echo "Step 2" >> log.txt
medium
A. Step 1 Step 2
B. Start Step 2
C. Start
D. Start Step 1 Step 2

Solution

  1. Step 1: Analyze the first command

    echo "Start" > log.txt creates or overwrites log.txt with "Start".
  2. Step 2: Analyze the next two append commands

    Both echo "Step 1" >> log.txt and echo "Step 2" >> log.txt add lines at the end without deleting existing content.
  3. Final Answer:

    Start Step 1 Step 2 -> Option D
  4. Quick Check:

    First > overwrites, then >> appends [OK]
Hint: First > overwrites, then >> adds lines [OK]
Common Mistakes:
  • Thinking >> overwrites file
  • Ignoring newline added by echo
  • Assuming only last echo remains
4. You want to append the line "Backup complete" to backup.log, but your script uses echo "Backup complete" > backup.log. What is the problem?
medium
A. The command appends but adds extra blank lines.
B. The command overwrites the file instead of appending.
C. The file backup.log will not be created.
D. The command will cause a syntax error.

Solution

  1. Step 1: Understand the operator used

    The single > operator overwrites the file content, replacing it with new text.
  2. Step 2: Identify correct operator for appending

    To add text without deleting existing content, >> should be used instead.
  3. Final Answer:

    The command overwrites the file instead of appending. -> Option B
  4. Quick Check:

    Use >> to append, not > [OK]
Hint: Use >> to append, > overwrites [OK]
Common Mistakes:
  • Using > when >> is needed
  • Expecting append but file is replaced
  • Thinking > causes syntax error
5. You have a script that logs user actions to actions.log. You want to ensure the file is created if missing and new actions are added without deleting old logs. Which command correctly appends the text "User logged in" to the file?
hard
A. echo "User logged in" >> actions.log
B. echo "User logged in" > actions.log
C. cat "User logged in" >> actions.log
D. echo "User logged in" < actions.log

Solution

  1. Step 1: Confirm file creation and appending

    The >> operator appends text and creates the file if it does not exist.
  2. Step 2: Validate command correctness

    echo "User logged in" >> actions.log appends the message correctly without deleting old logs.
  3. Final Answer:

    echo "User logged in" >> actions.log -> Option A
  4. Quick Check:

    >> appends and creates file if missing [OK]
Hint: Use echo text >> file to append and create file if missing [OK]
Common Mistakes:
  • Using > which overwrites logs
  • Using < which is input redirection
  • Using cat incorrectly to append text
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