shell命令:echo命令详解功能说明:显⽰⽂字。
语 法:echo [-ne][字符串] / echo [--help][--version]
补充说明:echo会将输⼊的字符串送往标准输出。输出的字符串间以空⽩字符隔开, 并在最后加上换⾏号。
参 数:
-n 不要在最后⾃动换⾏
-e 打开反斜杠ESC转义。
若字符串中出现以下字符,则特别加以处理,⽽不会将它当成⼀般⽂字输出:
\a 发出警告声;
\b 删除前⼀个字符;
\c 最后不加上换⾏符号;
\f 换⾏但光标仍旧停留在原来的位置;
\n 换⾏且光标移⾄⾏⾸;
\r 光标移⾄⾏⾸,但不换⾏;
\t 插⼊tab;
\v 与\f相同;
\\ 插⼊\字符;
\nnn 插⼊nnn(⼋进制)所代表的ASCII字符;
-E 取消反斜杠ESC转义 (默认)
-help 显⽰帮助
-version 显⽰版本信息
>>>>>>>>>>>> #
echo输出颜⾊⽂本 echo命令改变样式,以输出不同颜⾊的⽂本,必须有 -e 选项(开启echo中的转义)。
⽂本终端的显⽰颜⾊可以使⽤“ANSI⾮常规字符序列”来⽣成。
例如:echo -e "\033[44;37;5m ME\033[0m COOL"
解释:"\033[44;37;5m ME "设置背景为蓝⾊,前景为⽩⾊,闪烁光标,输出字符“ME”;
"\033[0m COOL"重新设置屏幕到缺省设置,输出字符 “COOL”。
"e"是命令echo的⼀个可选项,它⽤于激活特殊字符的解析器。
"\033"引导⾮常规字符序列(即"\033["表⽰终端转义字符开始,
"\033"即退出键<ESC>的ASCII码)。
"m"意味着设置属性然后结束⾮常规字符序列,这个例⼦⾥真正有效的字符是"44;37;5"和"0"。
修改"44;37;5"可以⽣成不同颜⾊的组合,数值和编码的前后顺序没有关系。
可以选择的编码如下所⽰(这些颜⾊是ANSI标准颜⾊):编码颜⾊/动作
0 重新设置属性到缺省设置
1 设置粗体
2 设置⼀半亮度(模拟彩⾊显⽰器的颜⾊)
4 设置下划线(模拟彩⾊显⽰器的颜⾊)
5 设置闪烁
7 设置反向图象
22 设置⼀般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
30 设置⿊⾊前景
31 设置红⾊前景
32 设置绿⾊前景
33 设置黄⾊前景
34 设置蓝⾊前景
35 设置紫⾊前景
36 设置青⾊前景
37 设置⽩⾊(灰⾊)前景
38 在缺省的前景颜⾊上设置下划线
39 在缺省的前景颜⾊上关闭下划线
40 设置⿊⾊背景
41 设置红⾊背景
42 设置绿⾊背景
shell代码43 设置黄⾊背景
44 设置蓝⾊背景
45 设置紫⾊背景
46 设置青⾊背景
47 设置⽩⾊(灰⾊)背景
49 设置缺省⿊⾊背景
其他有趣的代码还有:
\033[2J 清除屏幕
\033[0q 关闭所有的键盘指⽰灯
\033[1q 设置"滚动锁定"指⽰灯(Scroll Lock)
\033[2q 设置"数值锁定"指⽰灯(Num Lock)
\033[3q 设置"⼤写锁定"指⽰灯(Caps Lock)
\033[15:40H 把关闭移动到第15⾏,40列
\007 发蜂鸣⽣beep
⼀些说明:前景颜⾊各数字是对应背景颜⾊减去10。结束⾮常规字符序列的"m"要紧跟前⾯的数字,不能有空格。命令也可以写成echo -e "^[[44;37;5m ME \033[0m COOL",其中的"^["是先按Ctrl-V,然后再按<ESC>键产⽣的。
输出带有颜⾊的⽂本,echo命令必须带有选项"-e"。
这种⽅法只能暂时改变echo命令输出的⽂本的样式,logout后就恢复为默认。
#----------------------------------------------------------- #
建议:在shell⽂件的最前⾯,将echo命令的输出样式定义成变量。
# define echo terminal style
# color: 0~6 --> black, red, green, yellow, blue, purple, cyan, grey
export ECHO_STYLE_00="\033[0m"
# default style(black background, white foreground)
export ECHO_STYLE_01="\033[41;33;1m"
# red background, yellow foregound bold
echo -e "${ECHO_STYLE_01}echo command terminal style example${ECHO_STYLE_00}"
>>>>>>>>>>>> #
echo命令的其他⽤法
1).光标跳到第60列,然后显⽰⼀个OK。
格式:echo -en '\033[60G' && echo OK
说明:"\033["是终端转义字符开始,60G是命令。
>>>>>>>>>>>>
然后给⼏个⽐较强⼤的脚本函数 1) cfont #by zuoyang hi.baidu/test/
cfont()
{ while (($#!=0))
do case $1 in
-b) echo -ne " "; ;;
-t) echo -ne "\t"; ;;
-n) echo -ne "\n"; ;;
-black) echo -ne "\033[30m"; ;;
-red) echo -ne "\033[31m"; ;;
-green) echo -ne "\033[32m"; ;;
-yellow) echo -ne "\033[33m"; ;;
-
blue) echo -ne "\033[34m"; ;;
-purple) echo -ne "\033[35m"; ;;
-cyan) echo -ne "\033[36m"; ;;
-white|-gray) echo -ne "\033[37m"; ;;
-reset) echo -ne "\033[0m"; ;;
-h|-help|--help) echo "Usage: cfont -color1 message1 -color2 message2 ...";
echo "eg: cfont -red [ -blue message1 message2 -red ]"; ;;
*) echo -ne "$1" ;;
esac
shift
done }
使⽤⽅法是 cfont -颜⾊字符串...
如: cfont -cyan abc
注意使⽤时要换⾏需要加⼊ -n 选项。想要恢复默认的要加⼊ -reset选项。
2)颜⾊码表
#!/bin/bash T='gYw'
# The test text
echo
echo " default 40m 41m 42m 43m 44m 45m 46m 47m"
## FGs 为前景(foreground)⾊, BG 为背景(background)⾊
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' ' 36m' '1;36m' ' 37m' '1;37m' do FG=$(echo $FGs|tr -d ' ')
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en " \033[$FG\033[$BG $T \033[0m" done
echo
done
echo
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
推荐文章
热门文章
-
随机森林算法的改进方法
2024-10-02 -
基于随机森林算法的风险预警模型研究
2024-10-02 -
Python中的随机森林算法详解
2024-10-02 -
随机森林发展历史
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(八)
2024-10-02 -
随机森林回归模型原理
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(六)
2024-10-02 -
如何使用随机森林进行时间序列数据预测(四)
2024-10-02 -
如何使用随机森林进行异常检测(六)
2024-10-02 -
随机森林算法和grandientboosting算法 -回复
2024-10-02 -
随机森林方法总结全面
2024-10-02 -
随机森林算法原理和步骤
2024-10-02 -
随机森林的原理
2024-10-02 -
随机森林 重要性
2024-10-02 -
随机森林算法
2024-10-02 -
机器学习中随机森林的原理
2024-10-02 -
随机森林算法原理
2024-10-02 -
使用计算机视觉技术进行动物识别的技巧
2024-10-02 -
基于crf命名实体识别实验总结
2024-10-02 -
transformer预测模型训练方法
2024-10-02
最新文章
-
随机森林算法介绍及R语言实现
2024-10-02 -
基于随机森林优化的神经网络算法在冬小麦产量预测中的应用研究_百度文 ...
2024-10-02 -
基于正则化贪心森林算法的情感分析方法研究
2024-10-02 -
随机森林算法和grandientboosting算法
2024-10-02 -
基于随机森林的图像分类算法研究
2024-10-02 -
随机森林结合直接正交信号校正的模型传递方法
2024-10-02
发表评论