12

我在 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

有任何想法吗?提前致谢。

4

2 回答 2

13

你的TERMINFO变量设置了吗?没有它,我相信系统不会找到您的 terminfo 文件。或者可能设置不正确?

如果您正在运行 sh、ksh、bash 或类似程序,请尝试:

export TERMINFO=/usr/lib/terminfo

如果您不确定您使用的是什么外壳(我很确定您会这样做,但其他人也可能会阅读此内容),请输入:

echo $SHELL

如果你使用 csh、tcsh 或类似的,那么你应该输入:

setenv TERMINFO /usr/lib/terminfo

之后,尝试再次运行 tput。

于 2009-10-31T09:50:57.627 回答
1

我在 Mac OS Catalina 中修复了这个问题,

export TERMINFO=/usr/share/terminfo
于 2019-10-31T15:19:41.513 回答