Saya baru-baru ini meningkatkan (dengan apt-get dist-upgrade
) kotak Kubuntu dan Lubuntu Linux saya, dan sekarang setiap kali saya masuk ke salah satu mesin ini, saya mendapatkan pesan ini:
tput: No value for $TERM and no -T specified
Ini adalah tangkapan layar dari pesan yang tepat:
Ini terjadi pada mesin Lubuntu saya dan mesin Kubuntu, dan itu tidak masalah sampai setelah saya memutakhirkan; jadi saya curiga itu bukan kesalahan pengguna.
Bagaimana saya bisa memperbaikinya?
MEMPERBARUI
Saya telah melacak ini ke file .bashrc saya, yang dipanggil oleh file .profile saya. Padahal, fakta bahwa file .bashrc saya sekarang berjalan ketika saya melakukan login GUI padahal tidak sebelum saya upgrade agak aneh. Dan tidak, saya belum mengubah file .bashrc saya atau .profile saya baru-baru ini. Juga, bash bukan shell default saya.
Masalahnya adalah bahwa saya memanggil tput
file .bashrc saya untuk mengatur variabel untuk digunakan dalam menambahkan warna ke prompt. Tetapi pada saat (tidak pantas) saat file .bashrc saya dijalankan, $TERM
belum disetel.
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)
Pertanyaan yang diperbarui: Bagaimana saya harus memperbaikinya? Haruskah saya mengatur $TERM
diri saya sendiri? Atau haruskah saya tidak mengatur variabel-variabel ini jika $TERM
tidak disetel?
PEMBARUAN 2
Satu solusi yang saya coba adalah memeriksa apakah $TERM
sudah disetel. Tapi ini sepertinya tidak berhasil; Saya masih mendapat pesan kesalahan yang sama. Ini kodenya:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
Jadi tampaknya $TERM
sudah diatur, tetapi tput
masih menyimpulkan itu tidak.
.profile
berjalan terlepas dari shell default