tput
以下は、常にエスケープシーケンスと色を使用できることを示している必要がありますか?
if [[ $TERM == *"color"* ]]; then
true
else
false
fi
答え1
いいえ:端末記述の名前は関係ありません。 TERM
端末記述の名前です。色をサポートする端末は多く、ほとんどの名前に「color」はありません。たとえば、端末記述の名前を「色なし」と指定できない理由はありません。
端末で説明されているプログラムを使用して表示能力その中にリストされています。もちろん、端末記述名に関する情報を想定するハードコードされたプログラムがたくさんあります。
ncurses FAQによると私の端末は色を認識しません、端末の説明では、端末がサポートする色の数と、前景色と背景色の設定方法を説明する必要があります。
あなたはそれを使用することができますtput
色の数を取得します。
colors=$(tput colors)
if [ $colors -gt 1 ]
能力が不足すると収益がcolors
発生するからです。tput
-1