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小时内删除。
推荐文章
热门文章
-
一种任意人头与任意人体的3D结合方法
2025-01-07 -
正则匹配c语言中8进制
2025-01-07 -
fortran数据格式
2025-01-07 -
python中文本转数字用的公式
2025-01-07 -
gh 文本变数值
2025-01-07 -
js判断输入是否为正整数、浮点数等数字的函数代码
2025-01-07 -
qt浮点数正则表达式
2025-01-07 -
QT正则表达式限制输入值
2025-01-07 -
手机号码和电话号码的正则表达式
2025-01-07 -
str转浮点-概述说明以及解释
2025-01-07 -
英豪结尾的诗句
2025-01-07 -
Java正则表达式:符合以特定字符串开头,以特定字符串结尾的所有结果
2025-01-07 -
machinebuilder使用手册
2025-01-07 -
ASP.NET网站建设基本常用代码
2025-01-07 -
LCD显示实时时钟
2025-01-07 -
经纬度正则表达式解析
2025-01-07 -
前端科学计数法转数字
2025-01-07 -
python正则表达式re之compile函数解析
2025-01-07 -
pythonunittest之断言及示例
2025-01-07 -
[lua]lua中匹配字符串小数
2025-01-07
最新文章
-
nginx map用法 正则
2025-01-07 -
Prometheus监控学习笔记之初识PromQL
2025-01-07 -
关于PHP中的webshell
2025-01-07 -
python中re.findall函数实例用法
2025-01-07 -
nginx url表达式
2025-01-07 -
nginx 正则匹配参数
2025-01-07
发表评论