我使用的是 AIX-6.1,我正在尝试在我的 $PS1 中使用 tput。 我已经确认我什至无法从命令行运行 tput 。以下是我的会议:
# tput
unknown terminal "xterm"
# echo $TERM
xterm
# tput -T ansi
unknown terminal "ansi"
事实上,...
# ls /usr/lib/terminfo/x
x1700 xl83 xterm+pcc3 xterm+pcfkeys xterm-88color xterm-hp xterm-old xterm-vi
x1720 xtalk xterm+pcf0 xterm+pcfn xterm-8bit xterm-ic xterm-r5 xterm-vt220
x1750 xterm xterm+pcf1 xterm-16color xterm-basic xterm-mono xterm-r6 xterm-vt52
x820 xterm+pcc0 xterm+pcf2 xterm-24 xterm-bold xterm-new xterm-rep xterm-xfree86
xdku xterm+pcc1 xterm+pcf3 xterm-256color xterm-boldso xterm-noapp xterm-sco xterm-xmc
xitex xterm+pcc2 xterm+pcfN xterm-65 xterm-color xterm-nrc xterm-sun xterms
# ls /usr/lib/terminfo/x | wc -l
48
# for term in $(ls /usr/lib/terminfo/x) ; do tput -T $term ; done 2>&1 | grep 'unknown terminal' | wc -l
48
# for term in $(ls /usr/lib/terminfo/x) ; do TERM=$term tput ; done 2>&1 | grep 'unknown terminal' | wc -l
48
有什么想法吗?预先感谢。
你的
TERMINFO
变量设置了吗?没有它,我相信系统将找不到您的 terminfo 文件。或者可能设置不正确?
如果您正在运行 sh、ksh、bash 或类似命令,请尝试:
export TERMINFO=/usr/lib/terminfo
如果您不确定自己使用的是什么 shell(我很确定您这样做,但其他人也可能会读到此内容),请输入:
echo $SHELL
如果您使用 csh、tcsh 或类似工具,那么您应该输入:
setenv TERMINFO /usr/lib/terminfo
之后,尝试再次运行 tput。
我在 Mac OS Catalina 中修复了这个问题,
export TERMINFO=/usr/share/terminfo