一、选项
-e:激活转义符()
-n:忽略尾部自动换行符(echo命令尾部自动添加换行符)
二、转义符:(需要加双引号“”)
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符
注意事项:
1、 使用不带引号的echo是,没法在索要像是的文本中使用分号(;)。因为分号在Linux里被用作命令定界符。
2、 变量替换是在单引号中无效。
三、echo显示颜色
echo显示颜色需要使用参数-e
格式为:
echo -e \e[xx;xxm 文字 \e[xx;xxm ##xx为文字颜色或背景颜色或特殊控制
文字颜色
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
背景颜色
echo -e "\033[40;37m 黑底 \033[0m"
echo -e "\033[41;37m 红底 \033[0m"
echo -e "\033[42;37m 绿底 \033[0m"
echo -e "\033[43;37m 黄底 \033[0m"
echo -e "\033[44;37m 蓝底 \033[0m"
echo -e "\033[45;37m 紫底 \033[0m"
echo -e "\033[46;37m 天蓝底 \033[0m"
echo -e "\033[47;30m 白底 \033[0m"
特殊的控制显示
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
注意事项
1、echo时如果要打印带!号的句子不可以用“”可以用 单引号‘’ 反斜线\ 或者什么都不带*
[root@cxm ~]# echo "hello world !"
-bash: !": event not found
[root@cxm ~]# echo hello world !
hello world !
[root@cxm ~]# echo 'hello world !'
hello world !
[root@cxm ~]# echo "hello world \!"
hello world \!
2、echo时如果打印带分号 ;的句子。必须要带单引号‘’ 或者双引号“”(因为分号在bash中被视为命令定界符)
[root@cxm ~]# echo hello;hell
hello
-bash: hell: 未找到命令
[root@cxm ~]# echo 'hello;hello'
hello;hello
[root@cxm ~]# echo "hello;hello"
hello;hello
3、echo时如果带有变量替换 不能用单引号‘’
[root@cxm ~]# echo '$LANG'
$LANG
[root@cxm ~]# echo $LANG
zh_CN.UTF-8
[root@cxm ~]# echo "$LANG"
zh_CN.UTF-8