echo命令主要有两个参数:-n和-e,分别用来进行不换行输出和处理特殊字符。
一、 echo -n 不换行输出
$echo -n "123"
$echo "456"
最终输出
123456
而不是
123
456
二、echo -e 处理特殊字符
若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
$echo -e "a\bdddd"//删除第一个字母b
dddd
$echo -e "a\adddd" //输出同时会发出报警声音
adddd
$echo -e "a\ndddd" //自动换行
a
dddd
还有一些设置字体颜色的参数
注:字体颜色 重置=0,黑色=30,红色=31,绿色=32, *=33,蓝色=34, 洋红=35, 青色=36, 白色=37.
背景颜色 重置=0,黑色=40,红色=41,绿色=42, *=43,蓝色=44, 洋红=45, 青色=46, 白色=47.
要打印彩色文本,可输入如下命令:
# echo -e "\e[1;36m \e[0m"
\e[1;36 将颜色设置为青色 \e[0将颜色重新置回。4如果想要别的颜色只需要把36替换成其他颜色对应的数字就行;
要设置彩色背景,可输入如下命令:
# echo -e "\e[1;41m \e[0m"
echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
echo -e "\033[41;37m TonyZhang \033[0m"
其中41的位置代表底色, 37的位置是代表字的颜色
注:
1、字背景颜色和文字颜色之间是英文的“""”
2、文字颜色后面有个m
3、字符串前后可以没有空格,如果有的话,输出也是同样有空格
控制选项说明 :
\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 显示光标