SHELL輸出顏色和閃爍控制
阿新 • • 發佈:2018-02-27
背景色 meta containe 顯示 ron test nta ans fun
作者:全棧運維
鏈接:https://www.jianshu.com/p/ba1b8aded634
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
Shell 顏色和閃爍控制
在Shell下有時候需要定制輸出,比如給輸出加上顏色,或者顯示高亮,或者添加閃爍等。
然後這些顏色代碼或者控制碼等相對不好記住。這個時候我們可以考慮把最終想要的結果制定成對應的函數,
在使用的時候直接調用函數會方便很多
格式
echo -e "\033[字背景顏色;字體顏色m字符串\033[控制碼"
定制顏色函數
## blue to echo
function blue(){
echo -e "\033[34m[ $1 ]\033[0m"
}
## green to echo
function green(){
echo -e "\033[32m[ $1 ]\033[0m"
}
## Error to warning with blink
function bred(){
echo -e "\033[31m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error to warning with blink
function byellow(){
echo -e "\033[33m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error
function bred(){
echo -e "\033[31m\033[01m[ $1 ]\033[0m"
}
## warning
function byellow(){
echo -e "\033[33m\033[01m[ $1 ]\033[0m"
}
可以把這些函數寫入到一個公共的SHELL腳本中,每次在編寫其他腳本的時候用如下方式調用,即可
source /root/bin/common
或者可以把上述代碼直接粘貼到當前編寫的腳本中去。
當然可以推薦第一種方式。不用每次都復制粘貼。 直接 source 調用
即可
舉例
root@pts/4 $ cat /root/bin/common
#!/usr/bin/env bash
## blue to echo
function blue(){
echo -e "\033[35m[ $1 ]\033[0m"
}
## green to echo
function green(){
echo -e "\033[32m[ $1 ]\033[0m"
}
## Error to warning with blink
function bred(){
echo -e "\033[31m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error to warning with blink
function byellow(){
echo -e "\033[33m\033[01m\033[05m[ $1 ]\033[0m"
}
## Error
function red(){
echo -e "\033[31m\033[01m[ $1 ]\033[0m"
}
## warning
function yellow(){
echo -e "\033[33m\033[01m[ $1 ]\033[0m"
}
Dev-web-solr [/opt/hexo2] 2016-11-28 17:52:03
root@pts/4 $ cat /root/bin/test.sh
#!/usr/bin/env bash
source /root/bin/common
green "hello world with green color"
blue "hello world with blue color"
bred "error info with blink"
byellow "warning info with blink"
測試結果如下所示
shell-color-1.png shell-color-2.png附加 shell輸出 字體背景顏色和字體顏色,控制碼等參數
字體背景顏色
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
字體顏色
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
控制碼
這裏常用有 設置高亮度/下劃線/閃爍/關閉所有屬性
\33[0m 關閉所有屬性 \33[01m 設置高亮度 \33[04m 下劃線 \33[05m 閃爍 \33[07m 反顯 \33[08m 消隱 \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 顯示光標
作者:全棧運維
鏈接:https://www.jianshu.com/p/ba1b8aded634
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
SHELL輸出顏色和閃爍控制