我在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
有什么想法吗?提前谢谢。
答案 0 :(得分:11)
您的TERMINFO变量是否已设置?没有它,我相信系统将找不到你的terminfo文件。或者它设置不正确?
如果您正在运行sh,ksh,bash或类似内容,请尝试:
export TERMINFO=/usr/lib/terminfo
如果你不确定你正在使用什么外壳(我很确定你这样做,但其他人也可能会这样做),输入:
export TERMINFO=/usr/lib/terminfo
如果你正在使用csh,tcsh或类似的,那么你应该输入:
echo $SHELL
之后,再次尝试运行tput。
答案 1 :(得分:0)
我在Mac OS Catalina中使用以下方法修复了该问题,
export TERMINFO=/usr/share/terminfo