最近apt-get dist-upgrade
、KubuntuとLubuntu Linuxボックスを(で)アップグレードしましたが、これらのマシンの1つにログインするたびに、次のメッセージが表示されます。
tput: No value for $TERM and no -T specified
正確なメッセージのスクリーンショットは次のとおりです。
これはLubuntuマシンとKubuntuマシンの両方で発生し、アップグレードするまで問題ありませんでした。そのため、ユーザーエラーではなかったと思われます。
どうすれば修正できますか?
更新
これを.bashrcファイルまで追跡しました。このファイルは.profileファイルから呼び出されます。ただし、GUIログインを実行すると.bashrcファイルが実行されるのに対し、アップグレード前は実行されなかったという事実は少し奇妙です。いいえ、最近、.bashrcファイルまたは.profileを変更していません。また、bashは私のデフォルトのシェルではありません。
問題はtput
、プロンプトに色を追加する際に使用する変数を設定するために、.bashrcファイルで呼び出していることです。ただし、.bashrcファイルが実行される(不適切な)時点で$TERM
は、設定されていません。
fgRed=$(tput setaf 1) ; fgGreen=$(tput setaf 2) ; fgBlue=$(tput setaf 4)
fgMagenta=$(tput setaf 5) ; fgYellow=$(tput setaf 3) ; fgCyan=$(tput setaf 6)
fgWhite=$(tput setaf 7) ; fgBlack=$(tput setaf 0)
bgRed=$(tput setab 1) ; bgGreen=$(tput setab 2) ; bgBlue=$(tput setab 4)
bgMagenta=$(tput setab 5) ; bgYellow=$(tput setab 3) ; bgCyan=$(tput setab 6)
bgWhite=$(tput setab 7) ; bgBlack=$(tput setab 0)
更新された質問:これをどのように修正すればよいですか?$TERM
自分で設定する必要がありますか?または、$TERM
設定されていない場合、これらの変数を設定しないでください。
更新2
私が試した解決策の1つ$TERM
は、設定されているかどうかを確認することでした。しかし、これはうまくいかないようでした。それでも同じエラーメッセージが表示されます。コードは次のとおりです。
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
だから、明らかに$TERM
して設定されますが、tput
まだそれはないと結論づけました。
.profile
関係なく、デフォルトのシェルの実行