用語の「色」は常に色を使用できるという意味ですか?

用語の「色」は常に色を使用できるという意味ですか?

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

関連情報