Bash – Append text to file

To append a text to existing file in Bash scripting, you can use echo command with >>. Specify text and path to file in the command as shown in the following.

echo "Your text here" >> /path/to/file

If the file is not present, you may create the file with specified file path and append the text to file using the following command.

echo "Your text here" > /path/to/file

Please notice the difference between the above two commands. The first has >> and the second has >.


In the following script, we take a string in str and file path in file_path. We check if file exists and if it exists, we append the text in str to the file. If the file does not exist, we create a file at specified path and then append the text to the file.

sample.txt – File contents

Bash - Append a text to file


str="This is a new line in the file.\n"

# Check if the file exists
if [ -f "$file_path" ]; then
  # Append text to the file
  echo "$str" >> "$file_path"
  echo "String appended to file."
  # If the file doesn't exist, create it and add the text
  echo "$str" > "$file_path"
  echo "File created, and string appended to file."

Bash Version: GNU bash, version 5.2.15(1)-release (aarch64-apple-darwin22.1.0)


sh-3.2# bash 
String appended to file.

sample.txt – File contains after appending text to file

Bash - After appending text to file


Bash If Else



In this Bash Tutorial, we learned how to append text to file using echo command.