Linux
檢查終端是否支持 24 位/真彩色
在 shell 腳本中,如何以程式方式測試終端是否支持 24 位或真彩色?
相關:這個問題是關於列印用於眼球驗證的 24 位/真彩色測試圖案
該消息來源說要檢查是否
$COLORTERM
包含24bit
或truecolor
。
sh
[ "$COLORTERM" = truecolor ] || [ "$COLORTERM" = 24bit ]
bash
/zsh
:[[ $COLORTERM =~ ^(truecolor|24bit)$ ]]
只需使用
tput colors
. 我相信測試實際終端功能比使用$TERM
或$COLORTERM
if (( $(tput colors 2>/dev/null) > 256 )); then echo "What a beautiful rainbow!!!" else echo "Back to the 80's VGA era anyone?" fi