tput:未知终端

时间:2009-04-28 19:55:50

标签: aix

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

有什么想法吗?提前谢谢。

2 个答案:

答案 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