tput コマンド

目的

terminfo データベース内の端末依存情報を照会します。

構文

端末情報を出力する場合

tput-T Type ] [ CapabilityName {clear, init, longname, reset} [ Parameters... ]]

stdin を使用して複数の機能を処理する場合

tput  [ -S ]

説明

tput コマンドは、 terminfo データベースを使用して、 端末依存情報をシェルが使用できるようにします。 属性 CapabilityName がタイプ string ならば、tput コマンドは文字列を出力します。また属性がタイプ integer ならば、出力文字は整数です。属性がタイプ Boolean ならば、tput コマンドは終了値 (TRUE であれば 0、FALSE であれば 1) を設定し、他の出力は生成しません。

XTERM DESCRIPTION LIMITATION

AIX® バージョン 4 の DEC.TI ファイル内の xterm 端末記述は、 SGR 属性を使用してアンダーライン・モードを提供します。 SMUL および RMUL 属性は、 AIX バージョン 4 の XTERM 端末記述に現在は定義されていません。 より一般的に使用される機能を持つ SGR を使用してください。

tput sgr x y

x はスタンドアウト・モードをそれぞれオンまたはオフにする、1 または 0 のいずれかとなり、y はアンダーライン・モードをそれぞれオンまたはオフにする、1 または 0 のいずれかとなります。 SGR 機能の詳細に関しては、terminfo ファイル・フォーマットを参照してください。


tput sgr 0 1     turn off standout; turn on underline
tput sgr 0 0     turn off standout; turn off underline
tput sgr 1 1     turn on standout; turn on underline
tput sgr 1 0     turn on standout; turn off underline

フラグ

tput サブルーチンの引数として、機能名の他に以下の文字列がサポートされます。

項目 説明
clear 画面消去シーケンスを表示します (これは機能名でもあります)。
init インプリメンテーションに従属する方法でユーザーの端末を初期化するシーケンスを表示します。
reset インプリメンテーションに従属する方法でユーザーの端末をリセットするシーケンスを表示します。
longname 詳細名と指定端末 (または、何も指定しなければ現在の端末) を表示します。
-S stdin を使用します。これにより、tput は複数の機能を処理できるようになります。-S オプションを使用すると、コマンド・ラインには機能を入力できません。^D を入力すると、トークンが終了します。
-TType 端末のタイプを指示します。-T が指定されない場合は、TERM 環境変数がこの端末に使用されます。

終了状況

このコマンドは、以下の終了値を返します。

項目 説明
0 要求された文字列は正常に書き出されました。
1 未指定。
2 使用方法エラー。
3 指定された端末タイプに関して使用できる情報はありません。
4 指定されたオペランドは無効です。
>4 エラーが発生しました。

  1. 現在の端末の画面を消去するには、以下のように入力します。
    tput clear
  2. 現在の端末の桁数を表示するには、以下のように入力します。
    tput cols
  3. aixterm 端末の桁数を表示するには、以下のように入力します。
    tput  -Taixterm cols
  4. シェル変数 bold をスタンドアウト・モード開始シーケンスに設定し、シェル変数 offbold をスタンドアウト・モード終了シーケンスに設定するには、以下のように入力します。
    bold=`tput smso`
     
    offbold='tput rmso'
    この 2 つのコマンドを入力すると、以下のプロンプトが表示されることがあります。
    echo "${bold}Name: ${offbold} ¥c" 
  5. 現在の端末がハードコピー端末であるかどうかを示す終了値を設定するには、以下のように入力します。
    
    tput hc
  6. 現在の端末を初期化するには、以下のように入力します。
    tput init

ファイル

項目 説明
/usr/share/lib/terminfo/?/* 端末ディスクリプター・ファイルを含みます。
/usr/include/term.h 定義ファイルを含みます。