Thursday, November 14, 2024
HomeA-Z Commands16 Practical and Useful Examples of Echo Command in Linux

16 Practical and Useful Examples of Echo Command in Linux

The shell commands have always been a crucial tool in Linux. So learning about them gives a user fine-grained control over the Linux machine. Such a command of Linux bash shell is echo command. However, the echo command seems to be a pretty straightforward and easy one. It has a unique job that cannot be done with other commands, especially while writing a bash script. The echo command in Linux is mainly used for printing text in the console. It can show messages for the user while a bash script is executing.

What is The Use of echo Command in Linux?


Let’s dive deeper into the echo command and see how we can use it to display text in the console and format the output in different ways. We will also see how to use the echo command beyond just printing text.

1. Printing Text in the Console


If we want to show some text in the console, we can use the echo command in three ways. The first one is like this,

echo Hello everyone

You can also execute the command in this way

echo 'Hello everyone'

Or the third option you have is,

echo "Hello everyone"

printing text in console

Although all three are good for simple use, it is recommended to use the double quote to avoid any kind of unexpected behavior.

2. Omit Newline in Output


If you are an attentive learner, you may have already noticed that the echo command prints a newline at the end of the text. To better understand the effect, we can use the echo command without any text.

Now, if we do not want this newline after our output, we can use the echo command like this.

echo -n "ubuntupit"

echo command with -n flag

Here you can see that the cursor has not gone to the next line for typing the next command.

Before discussing the technique of other types of formatting, we have first to understand another concept. Echo command formats its output with a backslash and a letter immediately after that. This is called backslash escape.

By default, this feature is turned off. To use this, we have to first add -e flag (Careful! It is lowercase e, not uppercase) with the command so that it interprets the backslash escapes. The commands we are going to use now will use -e flag a lot.

3. Alert Sound


If you are using the computer for a while, you must have heard the alert sound. With the echo command, You can make your text to be printed with that alert sound of the Linux system to notify the user of your script about something. Type and execute the command given below to hear the effect. Make sure your soundbox is working properly.

echo -e "ubuntupit\a"

4. Backspace


Another escape character is \b. It takes your cursor one character back. Writing anything after this will start printing from the new cursor position. Let’s see an example

echo -e "ubuntu\b\b\bOS"

backspace

Here three \b has taken the cursor behind the letter n, and when OS is printed, it starts printing from that position.

5. Stop Printing


We have already seen \a and \b. The next is as expected; \c. What does it do? See the example below,

echo -e "ubuntu\cpit"

suppress printing

Maybe you have understood what it does. This \c makes the echo command ignore any character after it.

6. Delete One Letter


Another escape character of echo command in Linux is  \e. It is something like the delete key on the keyboard. It removes one visible character after this. If there is any space before that visible one, \e also delete that. Run the command below to understand its use.

echo -e "hello\e  world"

7. Add a Newline


To add a new line to our text, we can use \n character. See the example below

echo -e "Linux\noperating\nsystem"

adding newline

8. Carriage Return


Carriage return takes the cursor to the beginning of the line. So the next character starts printing from the beginning of the line. We can demonstrate it with the example below

echo -e "Linux\rMint"

9. Add Tab


You can print a horizontal tab using \t. For example

echo -e "hello\tworld\tprogram"

horizontal tab

For the vertical tab, we use \v. You can see it by running the code

echo -e "hello\vworld\vprogram"

10. Embedding ASCII Code


With the echo command in Linux, we can also print characters or use control code using their ASCII values. But we must use the octal or hexadecimal values of the ASCII codes with a backslash. Let us see the ASCII code in action with examples.

In the previous example, we have used the vertical tab using \v  . The ASCII control code for the vertical tab is 11 in decimal. Which is 13 in octal and B in hexadecimal. Here is an important thing to remember.

If we use the octal number for ASCII code, we have to add a 0 before that, and if we use the hexadecimal number for that, we must add an x before the number. Run the commands given below to understand it properly.

echo -e "Hello\013world"
echo -e "Hello\xbworld"

Using ASCII control code

You can see that we have used vertical tab using octal and hexadecimal ASCII code. For hexadecimal numbers, it does not matter whether you use a block letter (like B) or a small letter (like b); both are fine.

We can also print any visible character in this way. For example,

echo -e "\0141"
echo -e "\x61"

Here we have used ASCII code for letter a. You can use any ASCII code in this way.

11. Styling with ANSI Escape Codes


This is really interesting. We can style our codes using ANSI escape sequences and beautify our output. Though all ANSI escape sequences may not work on all systems, yet this is our best choice while beautifying our console output. To enable ANSI escape, we must use ASCII code for escape, which is 33 in octal and 1B in hexadecimal. Here is an example.

echo -e "\033[7mhello"
echo -e "\x1b[7mhello"

Using ANSI escape code

This ANSI escape code reverses the background and font color of the text. There is a lot of ANSI escape codes. You can use any of them as per your need.

12. Trick with Backslash


Suppose we want to print the line “It is better to use the double quote, ie.” with echo command in linux. For this, we may run the command below.

echo "It is better to use double quote ie. " with echo command in linux"

double quote error

Now we are stuck. Hit control + C to get free. But what happened? Actually, the echo command became confused with the " in the middle of the line and started demanding more input. We can easily avoid this situation with a simple thing – Backslash. Run the command below and see the magic.

 echo "It is better to use double quote ie. \" with echo command in linux"

double quote error solved

Now everything is fine. But there is more.

Suppose we want to print the line “We use \n for newline” with a bell sound. It seems simple, isn’t it? Why not run the command and see What happens.

echo -e "\aWe use \n for newline"

Oops. We can hear the bell but cannot print \n. You may think of dropping the -e flag.

echo "\aWe use \n for newline"

Mission failed! Now we can definitely see \n but cannot hear the sound. And as a bonus, have a \a with our text. So what is the solution? Backslash.

echo -e "\aWe use \\\n for newline"

We have finally got our desired output.

13. Print Value of a Variable


If a variable is declared, the value of that variable can be seen with the echo command. An example is given below.

x="ubuntupit"
echo $x

value of a variable

We can also use the echo command for viewing the value of the environment variables. For example

echo $HOME

14. Using echo Command with Other Commands


We can use the echo command with other Linux commands. When writing a bash script, it is often required to use the output from one command with some text. Here is an example of using the echo command along with the date command.

echo "Today is $(date +%A). Thank you"

echo with date command

15. Listing Directories and Files


One interesting use of the echo command is to list directories and files. We can list all the files and directories within a directory using the echo command like this.

echo *

We can also search files or folders with this. For example,

echo D*
echo *.txt

searching files and directories

in the first command, we searched for all files and directories starting with the letter D. With the second command, and we searched for all files and directories ending with .txt extension.

16. Writing File


We can create a file and write something in it with the echo command. For this, we redirect the text into a file. If the file does not exist, it is created. Otherwise, it may overwrite the content of the file or add new text to the file. Let us understand this with example.

If we want to create a file, we use the > operator with the echo command. Copy and execute the command below to see the effect on your machine.

echo "ubuntupit" > myfile.txt

This command will create a file named myfile.txt inside your present working directory. Inside the file, the text ubuntupit will be written. We can see it with the cat command.

cat myfile.txt

Now, If we use the >> operator, it will add a line to our file. Run the command below.

echo "website" >> myfile.txt
cat myfile.txt

appending lines to file

In this way, we can add more and more lines to our file. This becomes extremely helpful when writing a bash script that will automatically create and update log files.

What will happen if we use the > operator in our existing file? Let us see. Type and execute the command given below.

echo "linux" > myfile.txt
cat myfile.txt

We can see that using > operator clears the whole file and starts writing from the top.

Summary


The echo command in Linux seems to be a simple one at first glance, but we have already shown you how to use this command in different ways. We can print text, format the output in various manners, use it with other commands to write interactive scripts, know the values of variables and write to files. This echo command is a useful tool.

I hope you can now use the echo command efficiently from now on. If you are planning to write a bash script, you may want to bookmark this page to create a better script with proper outputs.  You can also express your thoughts on the echo command here in the comment section.

Mehedi Hasan
Mehedi Hasan
Mehedi Hasan is a passionate enthusiast for technology. He admires all things tech and loves to help others understand the fundamentals of Linux, servers, networking, and computer security in an understandable way without overwhelming beginners. His articles are carefully crafted with this goal in mind - making complex topics more accessible.

You May Like It!

Trending Now