打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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:这是一些转义字符,下面详细解释:
\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个字符处显示百分比的数字
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Shell命令:echo 命令详解 加颜色
shell之echo与printf和颜色
用bash的echo
linux终端输出字体颜色
Linux echo 命令
shell脚本中echo显示内容带颜色的实现方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服