echo命令
1. echo 基本用法echo 命令可以将后面跟的字符进行输出功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号语法:echo [-neE][字符串]选项header 1header 2-E(默认)不支持 \ 解释功能-n不自动换行-e启用 \ 字符的解释功能显示变量echo "$VAR_NAME"# 用变量值替换,弱引用echo '$VAR
·
1. echo 基本用法
echo 命令可以将后面跟的字符进行输出
功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
语法:
echo [-neE][字符串]
选项
header 1 | header 2 |
---|---|
-E | (默认)不支持 \ 解释功能 |
-n | 不自动换行 |
-e | 启用 \ 字符的解释功能 |
显示变量
echo "$VAR_NAME" # 用变量值替换,弱引用
echo '$VAR_NAME' # 变量不会替换,强引用
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
header 1 | header 2 |
---|---|
\a | 发出警告声 |
\b | 退格键 |
\c | 最后不加上换行符号 |
\e escape | 相当于\033 |
\n | 换行且光标移至行首 |
\r | 回车,即光标移至行首,但不换行 |
\t | 插入tab |
\\ | 插入\字符 |
\0nnn | 插入nnn(八进制)所代表的ASCII字符 |
\xHH | 插入HH(十六进制)所代表的ASCII数字(man 7 ascii) |
示例
[root@centos8 ~]#echo -e 'a\x0Ab'
a
b
[root@centos8 ~]#echo -e '\033[43;31;1;5mbeijing\e[0m'
beijing
[root@centos8 ~]#echo \$PATH
$PATH
[root@centos8 ~]#echo \
> ^C
[root@centos8 ~]#echo \\
\
[root@centos8 ~]#echo \\\
> ^C
[root@centos8 ~]#echo \\\\
\\
[root@centos8 ~]#echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@centos8 ~]#echo '$PATH'
$PATH
[root@centos8 ~]#
2. echo 高级用法
在终端中,ANSI定义了用于屏幕显示的Escape屏幕控制码
具有颜色的字符,其格式如下:
"\033[字符背景颜色;字体颜色m字符串\033[0m"
\033[30m – \033[37m 设置前景色
\033[40m – \033[47m 设置背景色
#字符背景颜色范围: 40--47
40:黑
41:红
42:绿
43:黄
44:蓝
45:紫
46:深绿
47:白色
#字体颜色: 30--37
30: 黑
31: 红
32: 绿
33: 黄
34: 蓝
35: 紫
36: 深绿
37: 白色
加颜色只是以下控制码中的一种,下面是常见的一些ANSI控制码:
header 1 | header 2 |
---|---|
\033[0m | 关闭所有属性 |
\033[1m | 设置高亮度 |
\033[4m | 下划线 |
\033[5m | 闪烁 |
\033[7m | 反显 |
\033[8m | 消隐 |
\033[nA | 光标上移n行 |
\033[nB | 光标下移n行 |
\033[nC | 光标右移n列 |
\033[nD | 光标左移n列 |
\033[x;yH | 设置光标位置x行y列 |
\033[2J | 清屏 |
\033[K | 清除从光标到行尾的内容 |
\033[s | 保存光标位置 |
\033[u | 恢复光标位置 |
\033[?25l | 隐藏光标 |
\033[?25h | 显示光标 |
\033[2J\033[0;0H | 清屏且将光标置顶 |
示例
[root@centos8 ~]#cat function
color(){
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ];then
${SETCOLOR_SUCCESS}
echo -n " OK "
else
if [ $2 = "failure" -o $2 = "1" ];then
${SETCOLOR_FAILURE}
echo -n "FAILED"
else
${SETCOLOR_WARNING}
echo -n "WARNING"
fi
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
[root@centos8 ~]#source function
[root@centos8 ~]#declare -f color
color ()
{
RES_COL=60;
MOVE_TO_COL="echo -en \\033[${RES_COL}G";
SETCOLOR_SUCCESS="echo -en \\033[1;32m";
SETCOLOR_FAILURE="echo -en \\033[1;31m";
SETCOLOR_WARNING="echo -en \\033[1;33m";
SETCOLOR_NORMAL="echo -en \E[0m";
echo -n "$1" && $MOVE_TO_COL;
echo -n "[";
if [ $2 = "success" -o $2 = "0" ]; then
${SETCOLOR_SUCCESS};
echo -n " OK ";
else
if [ $2 = "failure" -o $2 = "1" ]; then
${SETCOLOR_FAILURE};
echo -n "FAILED";
else
${SETCOLOR_WARNING};
echo -n "WARNING";
fi;
fi;
${SETCOLOR_NORMAL};
echo -n "]";
echo
}
[root@centos8 ~]#color "backup" 0
backup [ OK ]
[root@centos8 ~]#color "backup" 1
backup [FAILED]
[root@centos8 ~]#color "backup" 2
backup [WARNING]
[root@centos8 ~]#
更多推荐
已为社区贡献8条内容
所有评论(0)