Shell脚本命令
echo命令解释
echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用,在终端下打印变量的时候也是常常用到的,因此有必要了解下echo的用法。
命令选项:
-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命令打印输出带有颜色的文字
或者
要使输出的内容加上颜色输出需要使用“-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 消隐
[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"红色填充
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 显示光标