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 | エラーが発生しました。 |
例
- 現在の端末の画面を消去するには、以下のように入力します。
tput clear
- 現在の端末の桁数を表示するには、以下のように入力します。
tput cols
- aixterm 端末の桁数を表示するには、以下のように入力します。tput -Taixterm cols
- シェル変数 bold をスタンドアウト・モード開始シーケンスに設定し、シェル変数 offbold をスタンドアウト・モード終了シーケンスに設定するには、以下のように入力します。
この 2 つのコマンドを入力すると、以下のプロンプトが表示されることがあります。bold=`tput smso` offbold='tput rmso'
echo "${bold}Name: ${offbold} ¥c"
- 現在の端末がハードコピー端末であるかどうかを示す終了値を設定するには、以下のように入力します。
tput hc
- 現在の端末を初期化するには、以下のように入力します。
tput init
ファイル
項目 | 説明 |
---|---|
/usr/share/lib/terminfo/?/* | 端末ディスクリプター・ファイルを含みます。 |
/usr/include/term.h | 定義ファイルを含みます。 |