たとえば、太い緑のプレフィックスが必要な場合は、次のようにします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
前景を青、背景を黒に設定します。しかし、多くの可能性があります。事前定義された機能を使用すると、より少ない労力が必要です。