Print Strings in Bash

In Bash, echoing and printing text are common operations used to display information on the terminal. Both "echo" and "printf" commands are often used for this purpose.

Echo Command

The echo command is one of the simplest ways to display text in the terminal. It automatically adds a newline character at the end of the output.

echo "Hello, World!"

This will output:

Hello, World!

You can also use the -e option with echo to enable interpretation of backslash escapes. For example:

echo -e "Hello\tWorld\n"

This will output:

Hello World

Command Substitution

You can use command substitution within echo to include the output of another command. For example:

echo Today's date is: $(date)

This will output:

Today's date is: Mon Jan 29 2020


Store text in variables and then print them using echo. For example:

message="Welcome to Bash!" echo $message

This will output:

Welcome to Bash!


You can redirect the output of echo to a file using > or append to an existing file using >>. For example:

echo "This is a log message" >> log.txt

This appends the text to the log.txt file.

Printf Command

The printf command provides more advanced formatting options compared to echo. It allows you to control the format of the output using placeholders.

printf "Name: %s\nAge: %d\n" "Nick" 20

This will output:

Name: Nick Age: 20

In the printf command:

%s is a placeholder for a string. %d is a placeholder for an integer. \n is used for a newline character.

You can use various other format specifiers with printf to control the appearance of the output.

printf "Floating point number: %.2f\n" 3.14159

This will output:

Floating point number: 3.14

Here, %.2f specifies that the floating-point number should be displayed with two decimal places.

Points to Remember:
  1. Avoid exceeding terminal width to prevent text wrapping.
  2. Use quotes for multi-word arguments or special characters.
  3. Practice responsible scripting and avoid harmful uses of text manipulation.


Both echo and printf are used for printing text in Bash, but printf offers more advanced formatting options. Choose the one that best fits your needs based on the simplicity or complexity of the output you want to display.