Tput

tput 可以與組合功能一起使用嗎?

  • April 16, 2020

例如,如果我想要粗體綠色的前綴,我可能會使用Green=$(tput bold; tput setaf 2). 這會將 $Green 設置為“\E[1m\E[32m”。但是在 Ansi 終端上,它也可以很容易地成為“\E[1;32m”。

這可以用 tput 完成,還是我要求太多了?

不, 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

會將前景設置為藍色,將背景設置為黑色。但是,有很多可能性。使用預定義的功能需要較少的努力。

引用自:https://unix.stackexchange.com/questions/580347