萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux Shell 腳本輸出彩色文字?定義 echocolor 函數支援 8 色輸出

Shell 腳本輸出大量資訊時,透過 ANSI 轉義碼輸出彩色文字可大幅提升可讀性。定義 echocolor 函數支援黑/紅/綠/黃/藍/紫/青/白 8 色,呼叫簡單且可重複使用。

函數定義 (可放入 .bashrc 或腳本開頭)

echocolor() {
    color=${1} && shift
    case ${color} in
        black)  echo -e "\e[0;30m${@}\e[0m" ;;
        red)    echo -e "\e[0;31m${@}\e[0m" ;;
        green)  echo -e "\e[0;32m${@}\e[0m" ;;
        yellow) echo -e "\e[0;33m${@}\e[0m" ;;
        blue)   echo -e "\e[0;34m${@}\e[0m" ;;
        purple) echo -e "\e[0;35m${@}\e[0m" ;;
        cyan)   echo -e "\e[0;36m${@}\e[0m" ;;
        *)      echo -e "\e[0;37m${@}\e[0m" ;;
    esac
}

使用範例

cd $(dirname $(readlink -f ${0}))
echocolor purple ">> 當前目錄:${PWD}"
modname=$(grep 'obj-m' Makefile | awk '{print $3}') && modname=${modname/.o}
echocolor purple ">> 模組名稱:${modname}"
echocolor yellow ">> 卸載舊模組.."
adb shell rmmod ${modname}
echocolor yellow ">> 正在編譯.."
make
echocolor yellow ">> 正在上傳.."
adb push k860_words_count.ko /tmp/
echocolor yellow ">> 正在安裝模組.."
adb shell insmod /tmp/k860_words_count.ko
echocolor cyan ">> 輸出除錯資訊.."
adb shell cat /proc/kmsg | grep word

輸出訊息即以對應顏色顯示,輕鬆區分資訊等級。

copyright © 萬盛學電腦網 all rights reserved