How to Print Line of Text or String in Linux

Here’s a list of practical examples of the echo command in Linux

Alby Andersen

The echo command in Linux is used to display text or variables in the terminal or redirect output to files. It’s a fundamental tool for printing messages, debugging scripts, and generating formatted text. echo supports escape characters (e.g., newlines, tabs) and can interact with shell variables, making it versatile for both simple outputs and complex scripting tasks.

However, its behavior may vary slightly between shells (e.g., Bash vs. Dash), so caution is advised for cross-shell compatibility.


echo "Hello, World!"


Outputs Hello, World! to the terminal.


Display the Value of a Variable

echo "Your home directory is: $HOME"


Prints the value of the $HOME variable (e.g., /home/user).


Redirect Output to a File

echo "This is a text line" > file.txt


Creates or overwrites file.txt with the specified text.


Append Text to a File

echo "New line" >> file.txt


Adds the text to the end of file.txt without overwriting it.


Use Escape Characters (Newlines/Tabs)

echo -e "Line 1\nLine 2\tIndented"
  • -e enables escape sequences.
  • Output:
  Line 1  
  Line 2    Indented  

echo -n "No newline here..."
  • -n suppresses the newline at the end.
  • Useful for dynamic progress messages.

echo "Current date: $(date)"


Embeds the output of date into the message (e.g., Current date: Tue Oct 24 10:00:00 UTC 2023).


Handle Special Characters (Quotes, Symbols)

echo "Don't forget to escape \"quotes\" or use 'single quotes'!"


Prints: Don't forget to escape "quotes" or use 'single quotes'!.


Generate a List of Files

echo *


Lists all files and directories in the current folder (wildcard expansion).


echo -e "\033[31mRed Text\033[0m"
  • Uses ANSI escape codes.
  • \033[31m sets red text; \033[0m resets formatting.

Create Multi-Line Text

echo -e "Line 1\nLine 2\nLine 3"


Outputs three lines with line breaks.


Write to a Protected File

echo "New config line" | sudo tee /etc/config.conf
  • Uses sudo and tee to write to system-protected files.

Debug Scripts with Variable Values

name="Alice"
echo "Debug: name=$name"


Prints Debug: name=Alice to track variable states in scripts.


Generate URLs or Commands

echo "https://example.com/api?user=$USER&time=$(date +%s)"


Constructs a URL with dynamic parameters (e.g., https://example.com/api?user=ubuntu&time=1698144000).


Ignore Backslash Escapes

echo -E "This is a backslash: \\"
  • -E disables escape character interpretation.
  • Output: This is a backslash: \.

Key Notes:

  • Escape Characters: Use -e to enable \n, \t, etc. (required in some shells).
  • Portability: For consistent behavior across shells, consider printf instead of echo.
  • Security: Avoid using echo with untrusted input to prevent unintended command execution.
  • Quoting: Always quote variables (e.g., "$VAR") to preserve spaces and special characters.

The echo command is a quick and flexible way to handle text output in Linux. Use it for scripting, debugging, or simple terminal interactions! 🐧

Share This Article