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 に答える