tputを結合機能で使用できますか?

tputを結合機能で使用できますか?

たとえば、太い緑のプレフィックスが必要な場合は、次のようにしますGreen=$(tput bold; tput setaf 2)。これにより $Green が "\E[1m\E[32m") に設定されます。ただし、Ansi 端末では簡単に "\E[1;32m"" にすることができます。

tputでこれを行うことはできますか?または、あまりにも多くを要求していますか?

ベストアンサー1

いいえ、tputは(通常)これを行いません。なぜなら、その組み合わせがない事前定義された/標準端末機能を使用しているからです。

ncursesを使用すると、カスタム関数で独自の端末記述を定義でき、tputはそれを使用できます。

次のようなものが色を組み合わせます。

infocmp -x >foo
printf '\tfgbg=\\E[3%p1%;4%p2%dm,\n' >>foo
sudo tic -x foo

次に(例:8色)

tput fgbg 4 0

前景を青、背景を黒に設定します。しかし、多くの可能性があります。事前定義された機能を使用すると、より少ない労力が必要です。

おすすめ記事