echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用,在终端下打印变量的时候也是常常用到的,因此有必要了解下echo的用法。
语法:
语法: echo [-neE][字符串]
命令选项:
-n 不在字符的最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键,删除前一个字符
\c 最后不加上换行符号,输出字符串后不换行
\f 换行但光标仍旧停留在原来的位置
\n 换行且光标移至行首
\r 回车,即光标移至行首, 但不换行
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
\xHH插入HH(十六进制)所代表的ASCII字符
实例:
使用echo输出普通字符串
[[email protected] ~]# echo hello world hello world [[email protected] ~]# echo "hello world" hello world [[email protected] ~]# echo ‘hello world‘ hello world
使用echo输出变量
echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo ‘$VAR_NAME‘: 变量不会替换,强引用
[[email protected] ~]# name=tom [[email protected] ~]# echo "name" name [[email protected] ~]# echo "$name" tom [[email protected] ~]# echo ‘$name‘ $name
echo需要使用-e 参数来打印转义字符.
[[email protected] ~]# echo -e "enter the file name:\c" enter the file name:[[email protected] ~]# [[email protected] ~]# echo -e "Welcome \nWelcome" Welcome Welcome
echo输出ASCII码
[[email protected] ~]# echo -e "\0100" @ [[email protected] ~]# echo -e "\0110" H [[email protected] ~]# echo -e "\0120" P
命令行扩展、被括起来的集合
命令行扩展: $( ) 或 ``
把一个命令的输出打印给另一个命令的参数
[[email protected] ~]# echo "This system‘s name is $(hostname)" This system‘s name is localhost.localdomain [[email protected] ~]# echo "i am `whoami`" i am root
括号扩展: { }
打印重复字符串的简化形式
[[email protected] ~]# echo {1..10} 1 2 3 4 5 6 7 8 9 10 [[email protected] ~]# echo st{1..10} st1 st2 st3 st4 st5 st6 st7 st8 st9 st10
用echo命令打印输出带有颜色的文字
或者
要使输出的内容加上颜色输出需要使用“-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 消隐
[[email protected] ~]# echo -e "\e[0;31;0mWWWW\e[0m"无颜色 [[email protected] ~]# echo -e "\e[0;31;1mWWWW\e[0m"红色 [[email protected] ~]# echo -e "\e[0;31;2mWWWW\e[0m"浅红色 [[email protected] ~]# echo -e "\e[0;31;4mWWWW\e[0m"浅红色下划线 [[email protected] ~]# echo -e "\e[0;31;5mWWWW\e[0m"浅红色闪烁 [[email protected] ~]# echo -e "\e[0;31;7mWWWW\e[0m"红色填充
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 显示光标