shell脚本输出带文本颜色背景颜色自定义样式格式内容

shell脚本中 echo 和 printf 都可以输出内容。示例1:

它的格式是这样的:

格式说明 shell脚本中echo命令是内容显示,echo显示带颜色需要使用参数 -e 格式如下: echo -e “\033[字背景颜色;文字颜色m字符串\033[0m” 例如: echo -e “\033[41;36m something here \033[0m” 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1、字背景颜色和文字颜色之间是英文的”;” 2、文字颜色后面有个m 3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 特效可以叠加,需要使用“;”隔开,例如:闪烁+下划线+白底色+黑字为 \033[5;4;47;30m闪烁+下划线+白底色+黑字为\033[0m 再来看示例1的第3个命令:

  这个命令解释: 47 代表背景色为白色, 30 代表字体为黑色, 5 代表字体闪烁, 0 代表关闭所有属性 输出字符 “david use echo say”,然后重新设置屏幕到缺省设置,输出字符 “Hello World”后颜色回复正常。 -e是echo的一个可选项,用于激活特殊字符的解析器, Read more…

Linux登录提示信息动态显示

2023-10-10更新: 用tput sgr0进行属性还原时,在web页面输出会显示出一个(B符号,如下: 参考https://github.com/rburns/ansi-to-html/issues/25 解决方法是,增加一个变量:TERM=ansi 整体脚本如下:

    2023-8-1更新: dymotd:

color.awk:

  2023-7-29更新: 去除了日历和时间显示,感觉很鸡肋,增加了进程使用CPU和Mem时的报警,合并了load为一条: dynmotd:

  color.awk:

  2023-7-14更新: 颜色显示统一用tput:

  另外, figlet字体文件可从这里下载: https://github.com/xero/figlet-fonts/tree/master 字体效果可以在这里看: https://devhints.io/figlet   2023-6-26更新: 美化了一下样式: dynmotd:

color.awk:

某些情况下可能因为磁盘等原因, 导致df等命令执行时间长,导致登录不进服务器, 所以可以增加执行的超时时间:在/etc/profile中添加5秒超时: timeout 5s /usr/local/bin/dynmotd     —— 2023-4-28更新: 简化了一下显示,增加了显示条: Read more…