Linux
linux + tput:$TERM 沒有值,也沒有指定 -T
我在我的 bash 腳本中使用 tput 命令來為文本著色
作為
tput setaf 2
當我從膩子或控制台執行腳本時,一切正常
但是當我執行一些通過 SSH 執行腳本的外部 WIN 應用程序引擎時,我們在 tput 上收到以下錯誤
tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified
請建議在我的 bash 腳本中需要設置什麼(ENV 或其他)才能使用 tput 命令?
通過 連接時
ssh
,環境變數可能(也可能不會)傳遞給遠端應用程序。也可以完全不設置*“WIN 應用程序引擎”*TERM
。如果
TERM
是putty
(或xterm
,就此而言),這些具有相同的效果:tput setaf 2 tput -T putty setaf 2
因為用於的控制序列
setaf
是相同的。同樣,如果TERM
是linux
,這些是相同的tput setaf 2 tput -T linux setaf 2
setaf
用於使用ANSI (x3.64) 轉義序列將前景(文本)設置為特定值。您使用的大多數終端都會這樣做——或者有些終端無法辨識這些轉義序列中的任何一個。由於未提及該應用程序,因此您必須進行試驗以查看*“WIN 應用程序引擎”是否辨識這些轉義序列。如果是這樣,它可能使用相同的ANSI*轉義,所以你可以這樣做tput -T xterm setaf 2
(當然,putty、linux 和 xterm 之間還有其他區別)。