shell使⽤echo输出个性字体
代码1
echo -e Welcome to "\033[32;49;1mXK-Studio\033[39;49;0m"!
效果展⽰:
代码2
echo -e ABC"\033[32;49;1mD\033[39;49;0m"EFG
效果展⽰:
可以看到字母D就变成了红⾊了!
代码说明:
⼤致格式
echo -e "\033[背景颜⾊;字体颜⾊m字符串\033[0m"
背景和前景颜⾊的代码位置前后是没有区别的,别忘了字符串前⾯还有个“m”
echo -e ABC"\033[31;49;1mD\033[39;49;0m"EFG
以上命令设置背景成为⿊⾊,前景红⾊,字体为粗体,输出字符“ABCDEFG”,然后重新设置屏幕到缺省设置。“e”是命令 echo 的⼀个可选项,它⽤于激活特殊字符的解析器。“\033”引导⾮常规字符序列。“m”意味着设置属性然后结束⾮常规字符序列,这个例⼦⾥真正有效的字符是“44;37;5” 和“0”。
修改“31;49;1”可以⽣成不同颜⾊的组合,数值和编码的前后顺序没有关系。
可以选择的编码如下所⽰:
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 显⽰光标
22 设置⼀般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
前景颜⾊:30-39
30 设置⿊⾊前景
31 设置红⾊前景
32 设置绿⾊前景
33 设置棕⾊前景
34 设置蓝⾊前景
35 设置紫⾊前景
36 设置青⾊前景
37 设置⽩⾊前景
38 在缺省的前景颜⾊上设置下划线
39 在缺省的前景颜⾊上关闭下划线
背景颜⾊范围:40 - 49
40 设置⿊⾊背景
41 设置红⾊背景
42 设置绿⾊背景
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
RedHat的字体和背景颜⾊的改变⽅法:
命令:
PS1="[\e[32;1m\u@\h \W]\\$"
或
export PS1="[\e[32;1m\u@\h \W]\\$" 两者的区别请查看环境变量的相关资料
解释:
\e[32;1m:这就是控制字体和背景颜⾊的转义字符,30~37是字体颜⾊、40~47是背景颜⾊
例⼦中的32;1m数字的位置是可以对调的如\e[1;32m,如果是在X环境下可以更换⼀下1的范围0~10,可能有的没⽤处:0或者不写(\e [0;32m或\e[;32m)显⽰浅颜⾊,1:显⽰⾼亮 4:加下划线.....如果改后的效果不好,但是⼜还原不了,那就不写m前⾯的数字,如\e[32;m,或者直接注销再登陆
\u \h \W:这是⼀些转义字符,下⾯详细解释:
shell代码\d :代表⽇期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第⼀个名字,如上例,则为fc4,.linux则被省略
\t :显⽰时间为24⼩时格式,如:HH:MM:SS
\T :显⽰时间为12⼩时格式
\A :显⽰时间为24⼩时格式:HH:MM
\u :当前⽤户的账号名称
\v :BASH的版本信息
\w :完整的⼯作⽬录名称。家⽬录会以 ~代替
\W :利⽤basename取得⼯作⽬录名称,所以只会列出最后⼀个⽬录
\# :下达的第⼏个命令
\$ :提⽰字符,如果是root时,提⽰符为:# ,普通⽤户则为:$
\n :新建⼀⾏
字体并不局限于⼀个颜⾊,可以有多个颜⾊:
PS1="[\e[32;1m\u@\e[35;1m\h \e[31;1m\W]\\$"
以上两个命令在注销后再登陆就失效了,⽤下⾯⽅法使其永久⽣效:
vi /etc/profile
在“export PATH .....”下⾯添加⼀⾏:export PS1="[\e[32;1m\u@\h \W]\\$"
注销再登陆,就成功了,如果没⽣效,使⽤source /etc/profile 命令试试,或者直接重启机器。echo 基础⽤法:
Echo the STRING(s) to standard output.
-n do not output the trailing newline
输出⽂字不换⾏
-e enable interpretation of backslash escapes
将转义符跟后边的特殊字符解释成特殊意义
-E disable interpretation of backslash escapes(default)
不解释转义字符
--help display this help and exit
帮助
--version output version information and exit
显⽰版本等信息
If -e is in effect, the following sequences arerecognized: 当⽤-e时特殊字符的效果如下: \\ backslash
显⽰\
\a alert (BEL)
发出警报声
\b backspace
删除前⼀个字符
\c produce no further output
最后不加上换⾏符号
\e escape
字符向前退⼀位
\f form feed
换⾏但光标仍停留在原来的位置
\n new line
换⾏
\r carriage return
光标移⾄⾏⾸但不换⾏
\t horizontal tab
插⼊TAB
\v vertical tab
换⾏但光标仍停留在原来的位置
\0nnn byte with octal value nnn (1 to 3 digits)
⼋进制代表的ASCII字节
\xhh byte with hexadecimal value hh (1 to 2 digits)
⼗六进制代表的ASCII字节
echo⽤法,显⽰百分⽐,进度等信息
进度例⼦
echo -ne "/r/033[0;42m /033[0;44m/033[7;39m /033[0m 20%"
sleep 1
echo -ne "/r/033[0;42m /033[0;44m/033[7;39m/033[0m 100%"
其中-ne 表⽰不换⾏,并⽀持特殊字符;033[0;42m 其中[0 表⽰关闭之前定义的所有属性,42表⽰定义背景⾊为绿⾊(第⼀个4为指定义背景,第⼆个4指颜⾊,只有从1到6的6种颜⾊),m 为固定⽤法,也就是说可以在 [*;*;*;*;*m 直接写⼊多个属性,⽐如 [0;4;44;32m 表⽰关闭,下划线,背景蓝⾊,前景绿⾊,注意各属性之间是⽤分号间隔。/033[0m关闭之前定义的所有属性,即恢复下⾯的现实为默认的正常显⽰。
使⽤50G之类的位置定义和32m类的颜⾊特性定义需分开写定义。
百分⽐例⼦
echo -ne "/033[50G50%"
sleep 1
echo -ne "/033[50G100%"
表⽰在本⾏第50个字符处显⽰百分⽐的数字
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论