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
eval command in bash script
Publish Date:2025/03/21 Views:87 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:388 Category:操作系统
-
本文是关于在 Bash 脚本中使用字符串作为命令的。 为此,使用了 eval 命令。Bash 脚本中的 Eval 命令 在某些 Bash 脚本中,您必须使用变量或输入值(例如)创建一个字符串,并在最后将其作为命
退出 Bash 脚本
Publish Date:2023/06/11 Views:268 Category:操作系统
-
本文简要介绍 Bash 脚本,并讨论在出现错误时退出 Bash 脚本。 它进一步讨论了 Bash 脚本的局限性和好处。什么是 Bash 脚本 计算机脚本/程序告诉计算机做什么和说什么。
Bash 脚本中的 Echo Tab 字符
Publish Date:2023/06/11 Views:252 Category:操作系统
-
本文演示了如何回显特殊字符(例如制表符),否则这些字符会在 Bash 脚本中转换为单个空格字符。 这扩展到 Bash 以外的 shell(例如 zsh)。
在另一个 Bash 脚本中包含脚本文件
Publish Date:2023/06/09 Views:100 Category:操作系统
-
本文讨论了将一个 Bash 脚本文件包含到另一个脚本文件中的不同方法。在 Bash 脚本中包含文件 在 Bash 中包含或重用脚本非常简单。
在 Bash 中根据文件的第二列对数据进行排序
Publish Date:2023/05/20 Views:180 Category:操作系统
-
本文介绍了如何在 bash 中根据文件的第二列对数据进行排序。Bash 中的排序命令概述 使用 sort 命令对文件进行排序,该命令按特定顺序放置记录。
检查 Bash 中是否存在命令
Publish Date:2023/05/20 Views:131 Category:操作系统
-
我们可以在 Bash 中使用不同的内置命令来检查命令是否存在。 下面演示了这些命令的使用。使用命令 -v 命令检查 Bash 中是否存在命令 命令 -v 是所有 POSIX 系统和 Bash 中的内置函数。