我最近升级apt-get dist-upgrade
了Kubuntu和Lubuntu Linux机器,并在每次登录其中一台机器时收到以下消息:
tput: No value for $TERM and no -T specified
这是确切消息的屏幕截图:
这在我的Lubuntu机器和Kubuntu机器上都发生过,直到我升级后才成为问题。所以我怀疑这不是用户错误。
我怎样才能解决这个问题?
更新
我已将其跟踪到我的.bashrc文件,该文件已由我的.profile文件调用。但是,我的.bashrc文件现在在我进行GUI登录时运行,而在升级之前却没有运行,这一事实有点奇怪。不,我最近还没有修改.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
我尝试的一种解决方案是检查是否$TERM
已设置。但这似乎不起作用。我仍然收到相同的错误消息。这是代码:
if [ ! "$TERM" = "" ]; then
#Do stuff here
fi
如此看来$TERM
已定下来,但tput
仍得出结论并非如此。
.profile
,不管默认的shell是什么,都可以运行