echo -n 、-e、 -E参数

echo -n 、-e、 -E参数

看到关于日志级别显示的两个函数如下:

function info()
{
    echo -e "\033[32m INFO: $1 \033[0m"
}

function error()
{
    echo -e "\033[31m ERROR: $1 \033[0m"
}

对echo的参数使用查阅了下:
-n do not output the trailing newline
-e enable interpretation of backslash escapes
-E disable interpretation of backslash escapes (default)

1. echo -n

echo -n 不换行输出

$echo -n "123"
$echo "456"

最终输出:123456

2. echo -e

2.1. echo -e 处理特殊字符
若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;

$echo -e "a\bdddd"
dddd

$echo -e "a\adddd" //输出同时会发出报警声音
adddd

$echo -e "a\ndddd" //自动换行
a
dddd

2.2 echo -e 设置字体颜色
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"

例如:

echo -e "\033[41;36m something here \033[0m" 

其中41的位置代表底色, 36的位置是代表字的颜色

那些ascii code 是对颜色调用的始末.

\033[ ; m …… \033[0m 

附1:字背景颜色范围:
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色

附2:ANSI控制码的说明:
\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 -E
    禁用反斜杠转移的解释(默认)
echo -E "a\bdddd"
a\bdddd

echo "a\bdddd"
a\bdddd

https://blog.csdn.net/qq_37595946/article/details/77962963
https://blog.csdn.net/mao834099514/article/details/53128795

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值