【Linux】echo命令用法详解

时间:2023-02-03 11:15:36

作者:柒号华仔

个人信条:星光不问赶路人,岁月不负有心人。
个人方向:专注于5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关注我,一起交流。


1. echo命令介绍

echo命令是脚本语言中的常用命令,作用相当于C语言里面的printf。在shell中,可以打印变量的值,或者输出指定的字符串,可以将结果写入到文件,也可以打印在终端。echo命令可以在显示器上显示一段文字,起到提示的作用,对于调试非常有帮助。

在终端输入help echo即可查看echo的命令详情:

【Linux】echo命令用法详解

2. 命令参数解释

字符

含义

-n

不自动换行

-e

解释转义字符

-E

不解释转义字符

\a

发出警告声

\b

转义后相当于按退格键(backspace) ,但前提是"\b"后面存在字符; "\b"表示删除前一一个字符,"\b\b" 表示删除前两个字符。

\c

不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n;但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。

\e

escape,相当于 \033

\E

与\e相同

\f

换行,但下一行内容起始位置和上一行从\f处换行的位置对齐

\n

换行且光标移至行首

\r

换行字符,光标移至行首,输出\r后面的内容

\t

转以后表示插入tab,即横向制表符。

\v

换行,但下一行内容起始位置和上一行从\v处换行的位置对齐

\ \

表示插入""本身。

\0nnn

插入nnn(八进制)所代表的ASCII字符

\xHH

插入HH(十六进制)所代表的ASCII数字

3. echo使用实例

echo命令使用方法较多,我们通过实例来列举常用用法,只要参考这些实例即可满足我们日常的编程和调试需要。

3.1 字符串输出

字符串输出到终端显示是最简单的用法。

echo 'Hello World'

【Linux】echo命令用法详解

3.2 单引号与双引号

echo后的单引号表示强引用,单引号里面是什么内容就输出什么,而双引号是弱引用,变量的值会代替变量名输出。

【Linux】echo命令用法详解

3.3 转义字符可用

当我们需要使用特殊转义字符时(特殊转义字符见上面命令参数详解表格),需要指定参数-e,格式为

echo -e 处理特殊字符

3.4 输出字符串带颜色

在打印log时,我们经常要突出显示一些提示文字,比如Error用红色,Waring用黄色,便于第一时间发现问题。
输出文字带颜色需要结合-e选项和“\033”一块使用,格式为

echo –e "\033[颜色m 字符串 \033[0m"

【Linux】echo命令用法详解

3.5 写入文件

以覆盖方式写入文件,写入语句会覆盖目标文件原有内容,保证文件保存的始终是最新内容。

echo "Hello World" > hello.txt

以追加方式写入文件,写入语句不会覆盖目标文件原有内容,只会追加在文件末尾。追加方式适用于记录运行log,便于后期问题分析。

echo "Hello World" >> hello.txt

两种写入方式区别在于指向符,>覆盖,>>追加。

3.6 输出时间

获取当前系统时间并输出,在打印Log时可以记下当前的系统时间,或者在编译程序时,可以记下编译时的系统时间,便于回溯和版本跟踪。

current_time=$(date "+%Y-&m-%d %H:%M:%S")
echo '['$current_time']'"Hello World" >> hello.txt