Echo Tab Character in Bash Script
This article explains how to echo one or more tab characters when using Bash scripts.
Echo Tab Character in Bash Script
echo
The command is simple: it prints whatever is passed to the terminal. Normally, if you save a variable as:
example=' 'testing
echo '['$example']'
If you try to print out this variable
using the command , you will get the following output.
[ testing]
This is not what we typed or saved into the variable. In the example above, we used the tab character twice, but we see only one space.
It should be noted that this behavior is not consistent across all shells. For example, running the same script in a zsh shell produces the following output, which is what we would expect.
[ testing]
Back to Bash scripting, we have several solutions.
Using the -e flag
-e
The -e flag enables interpretation of backslash escapes. If you were writing the same example above, you would write it as follows.
example='\t\t'testing
echo -e '['$example']'
This gives the output:
[ testing]
\t
The part represents the tab character. So since we want to introduce two tab characters, we write it as \t\t
.
Once the -t flag is passed -e
, \t
the symbol will be interpreted as a tab character and displayed as required.
If you do not use -e
the flag, as in the following case, then \t
is read as a literal string and is not processed as a tab character.
example='\t\t'testing
echo '['$example']'
This gives the output:
[\t\ttesting]
Note that passing flag is not POSIX; therefore, this cannot be used portably, for example in a make that does not implement flag. Therefore, we will discuss some alternatives, including the almost universal printf.
Of course, this part is slightly different than when we started, as we're going to be ditching the echo altogether.
Use double quotes
This is arguably the simplest solution and requires no explanation other than the syntax. You would write the command as follows.
example=' 'testing
echo "[$example]"
This will give the result:
[ testing]
Use printf instead
This is the most portable of the three solutions, and the most recommended. There are many implementations and versions of echo, but printf is basically the same.
Even if implemented separately everywhere, its implementation is very similar. We can see this because any variation of the above method will produce the same output when invoked with zsh, but different output when invoked with bash.
The syntax for using printf is defined as follows.
example=' 'x
printf '%s\n' "[$example]"
This gives the output:
[ x]
As a general suggestion, as long as the desired output is simple text like hello, echo
this will work fine, but for anything complex, using echo
may become tricky as its behavior varies significantly between shells. In all such cases (special characters etc.), it is recommended to use instead printf
.
For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.
Related Articles
Sort data based on the second column of a file in Bash
Publish Date:2025/03/22 Views:87 Category:OPERATING SYSTEM
-
This article explains how to sort data based on the second column of a file in bash. Overview of the Sort Command in Bash Sort files using the sort command, which places records in a specific order. By default, the sort command sorts files
Check if a command exists in Bash
Publish Date:2025/03/22 Views:50 Category:OPERATING SYSTEM
-
You may need to verify the existence of a command, program, or file using Bash scripting or programming. This article will take a look at several methods to meet this need. We can use different built-in commands in Bash to check if a comman
Bash Script to Add New User in Linux
Publish Date:2025/03/22 Views:172 Category:OPERATING SYSTEM
-
This short article is about creating a Bash script that automates adding users and assigning passwords for Linux operating system. In Linux operating system, useradd command is used to add new users and provide passwords to them. Bash scrip
Including a script file in another Bash script
Publish Date:2025/03/22 Views:104 Category:OPERATING SYSTEM
-
This article discusses different ways to include a Bash script file into another script file. Including files in Bash scripts Including or reusing scripts in Bash is very simple. The source keyword is similar to that in C/C++ #include . To
eval command in bash script
Publish Date:2025/03/21 Views:88 Category:OPERATING SYSTEM
-
This article is about using strings as commands in Bash scripts. For this purpose, the eval command is used. Eval Command in Bash Scripts In some Bash scripts, you have to create a string using variables or input values (for example)
Exit Bash Script
Publish Date:2025/03/21 Views:99 Category:OPERATING SYSTEM
-
This article provides a brief introduction to Bash scripting and discusses exiting a Bash script when an error occurs. It further discusses the limitations and benefits of Bash scripting. What is Bash Scripting A computer script/program tel
Bash 脚本中的 eval 命令
Publish Date:2023/06/11 Views:392 Category:操作系统
-
本文是关于在 Bash 脚本中使用字符串作为命令的。 为此,使用了 eval 命令。Bash 脚本中的 Eval 命令 在某些 Bash 脚本中,您必须使用变量或输入值(例如)创建一个字符串,并在最后将其作为命
退出 Bash 脚本
Publish Date:2023/06/11 Views:269 Category:操作系统
-
本文简要介绍 Bash 脚本,并讨论在出现错误时退出 Bash 脚本。 它进一步讨论了 Bash 脚本的局限性和好处。什么是 Bash 脚本 计算机脚本/程序告诉计算机做什么和说什么。