前言
有一段时间不用 shell 了,感觉一些指令已经忘了,复习一下
我的环境是 macOS, 所使用的shell是zsh,几乎完美兼容bash
echo
echo 就是将字符串显示在标准输出中,需要理解的就是echo的文字其实是可以更改颜色和背景色的
echo "this is a normal line"
现在要给这个简单的字符串添加一些颜色需要在字符串中需要添加 "\e[数字;数字m"或者"\033[数字;数字m"这样的形式,数字之间用;隔开。
例如:
echo "this is a [31;47mred\e[0m \e[37mworld\e[0m"
具体地还有以下这些:
关键字 | 功能 | 效果 |
---|---|---|
\e[0m | 关闭样式效果 | |
\e[1m | 高亮 | |
\e[4m | 下划线 | |
\e[5m | 闪烁 | 无效果 |
\e[7m | 反显 | |
\e[8m | 消隐 | 无效果 |
\e[3xm | 设置前景色,x取值0-7 | |
\e[4xm | 设置背景色 | |
\e[nA | 光标上移n行 | 无 |
\e[nB | 光标下移n行 | 无 |
\e[nC | 光标右移n行 | 无 |
\e[nD | 光标左移n行 | 无 |
\e[y;x | H设置光标位置 | 无效果 |
\e[2J | 清屏 | 无 |
\e[K | 清除从光标到行尾的内容 | |
\e[s | 保存光标位置 | |
\e[u | 恢复光标位置 | |
\e[?25l | 隐藏光标 | |
\e[?25h | 显示光标 |
对于字体颜色和背景色,有0-7这8个颜色可供选择
|颜色|对应|效果|
总结
echo 是一个很简单的指令,但是想作出来的脚本好看,醒目,还是需要做一番更改