Skip to content
FLAVIO COPES
flaviocopes.com
2026

Linux commands: echo

By Flavio Copes

Learn how the Linux echo command prints its argument to the terminal, interpolates variables like $PATH, expands globs and ranges, and appends to a file.

~~~

The echo command does one simple job: it prints to the output the argument passed to it.

This example:

echo "hello"

will print hello to the terminal.

We can append the output to a file:

echo "hello" >> output.txt

We can interpolate environment variables:

echo "The path variable is $PATH"

Terminal showing echo command interpolating PATH variable displaying system directory paths

Beware that special characters need to be escaped with a backslash \. $ for example:

Terminal showing echo command with and without escaped dollar sign demonstrating character escaping

This is just the start. We can do some nice things when it comes to interacting with the shell features.

We can echo the files in the current folder:

echo *

We can echo the files in the current folder that start with the letter o:

echo o*

Any valid Bash (or any shell you are using) command and feature can be used here.

You can print your home folder path:

echo ~

Terminal showing echo tilde command outputting the home directory path /Users/flavio

You can also execute commands, and print the result to the standard output (or to file, as you saw):

echo $(ls -al)

Terminal showing echo command executing ls -al subcommand with output displayed as single line

Note that whitespace is not preserved by default. You need to wrap the command in double quotes to do so:

Terminal showing echo command with quoted subcommand preserving whitespace formatting in directory listing

You can generate a list of strings, for example ranges:

echo {1..5}

Terminal showing echo command with brace expansion generating sequence 1 2 3 4 5 from {1..5}

The echo command works on Linux, macOS, WSL, and anywhere you have a UNIX environment

Tagged: CLI · All topics
~~~

Related posts about cli: