echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linuxecho命令,在shell编程中极为常用,在终端下打印变量的时候也是常常用到的,因此有必要了解下echo的用法。


语法:

语法: echo [-neE][字符串]

 

命令选项:

    -n 不在字符的最后自动换行

    -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

\a 发出警告声

\b 退格键,删除前一个字符

\c 最后不加上换行符号,输出字符串后不换行

\f 换行但光标仍旧停留在原来的位置

\n 换行且光标移至行首

\r 回车,即光标移至行首, 但不换行

\t 插入tab

\\ 插入\字符

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

\xHH插入HH(十六进制)所代表的ASCII字符

 

实例:

使用echo输出普通字符串


[root@localhost ~]# echo hello world
hello world
[root@localhost ~]# echo "hello world"
hello world
[root@localhost ~]# echo 'hello world'
hello world


 

使用echo输出变量

echo "$VAR_NAME": 变量会替换,双引号表弱引用

echo '$VAR_NAME': 变量不会替换,强引用


[root@localhost ~]# name=tom
[root@localhost ~]# echo "name"
name
[root@localhost ~]# echo "$name"
tom
[root@localhost ~]# echo '$name'
$name


 

echo需要使用-e 参数来打印转义字符.


[root@localhost ~]# echo -e "enter the file name:\c"
enter the file name:[root@localhost ~]# 
[root@localhost ~]# echo -e "Welcome \nWelcome"
Welcome 
Welcome


 

echo输出ASCII


[root@localhost ~]# echo -e "\0100"
@
[root@localhost ~]# echo -e "\0110"
H
[root@localhost ~]# echo -e "\0120"
P


 

命令行扩展、被括起来的集合

命令行扩展: $( ) 或 ``

把一个命令的输出打印给另一个命令的参数


[root@localhost ~]# echo "This system's name is $(hostname)"
This system's name is localhost.localdomain
[root@localhost ~]# echo "i am `whoami`"
i am root


 

括号扩展: { }

  打印重复字符串的简化形式


[root@localhost ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@localhost ~]# echo st{1..10}
st1 st2 st3 st4 st5 st6 st7 st8 st9 st10


 

echo命令打印输出带有颜色的文字

wKiom1e5sujg9k-wAAA0lc6GjcI080.png-wh_50 

或者

wKioL1e5svPTIsMmAAAtPjnSErM986.png-wh_50 

 

要使输出的内容加上颜色输出需要使用-e”选项

\033[43;31m 或者 \e[43;31m

将颜色设置为背景×××、文字红色

43为背景色,31为文字颜色;设置时可以互换位置

\033[0m 或者 \e[0m

将颜色重新复位,如果不复位后面输出文字也会颜色输出

 

文字颜色码:

重置=0,黑色=30,红色=31,绿色=32,×××=33,蓝色=34,洋红=35,青色=36,白色=37

背景颜色码:

重置=0,黑色=40,红色=41,绿色=42,×××=43,蓝色=44,洋红=45,青色=46,白色=47

 

其他属性:

0 关闭所有属性

1 设置高亮度(加粗)

4 下划线

5 闪烁

7 反显

8 消隐

wKioL1e5swKgRnVQAAC8fGgRDts581.png-wh_50 

 

[root@localhost ~]# echo -e "\e[0;31;0mWWWW\e[0m"无颜色 
[root@localhost ~]# echo -e "\e[0;31;1mWWWW\e[0m"红色
[root@localhost ~]# echo -e "\e[0;31;2mWWWW\e[0m"浅红色
[root@localhost ~]# echo -e "\e[0;31;4mWWWW\e[0m"浅红色下划线
[root@localhost ~]# echo -e "\e[0;31;5mWWWW\e[0m"浅红色闪烁
[root@localhost ~]# echo -e "\e[0;31;7mWWWW\e[0m"红色填充




wKiom1e5sxGj_kPKAABSrlaeIRU991.png-wh_50 

 

echo的其他用法:

\033[nA   光标上移n

\033[nB   光标下移n

\033[nC   光标右移n

\033[nD   光标左移n

\033[y;xH    设置光标位置

\033[2J   清屏

\033[K    清除从光标到行尾的

\033[s    保存光标位置   

\033[u    恢复光标位置   

\033[?25l  隐藏光标   

\033[?25h  显示光标

 

wKiom1e5syCytK38AAP4nee8z4Q146.png-wh_50