名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目
tput は、 terminfo データべースを使って、 端末に依存した機能やシェルに渡される情報 (sh(1) を参照) の値を決定するか、 端末をクリア、初期化、またはリセットするか、 または要求された端末タイプの長い名前 (正式な名前) を返します。 capname 引数で指定された機能属性が文字列型であれば、 tput は文字列を出力します。 同様に、属性が整数型であれば整数を出力します。 属性がブール型であれば、 tput は単に終了ステータスを設定するだけで何も出力しません。 この場合の終了ステータスの値は、 端末がその機能を持っていれば真を示す 0 であり、持っていなければ偽を示す 1 となります。 標準出力に返された値を使用する前に、 必ず終了ステータス ($?、sh(1) を参照) の値が 0 であることを確認してください。 詳細については後述の「終了ステータス」 の項を参照してください。
以下のオプションを指定できます。
端末の種類を type 引数で指定します。 通常は、デフォルトの種類が TERM 環境変数から得られるので、このオプションは必要ありません。-T オプションを指定すると、シェル変数の LINES と COLUMNS、およびレイヤーサイズは参照されません。
1 回の tput の呼び出しで複数の機能指定を可能にするオプションです。 この場合、対象となる機能はコマンド行からではなく 標準入力から tput に渡すことになります。 「使用例」の項にある例を参照してください。 1 行には 1 つの capname しか指定できません。 なお、 -S オプションを指定した場合、 ブール型および文字列型の終了ステータス 0 と 1 の意味が変わります。 詳しくは「終了ステータス」の項を参照してください。
以下のオペランドを指定できます。
terminfo データベースから得られる、機能属性を表します。 機能とそれに対応する capname の一覧については、 terminfo(4) を参照してください。
C ロケールを使ったシステムでは、以下の文字列が オペランドとしてサポートされています。
クリアスクリーンのシーケンスを表示します。
terminfo データべースが存在し、 ユーザーの端末用のエントリが存在していれば (前述の -Ttype の説明を参照)、以下のすべての処理が実行されます。
端末の初期化文字列が存在すれば、それが出力される(is1、is2、is3、if、iprog)
エントリ中の遅延指定 (たとえば復帰改行) が、 tty ドライバに設定される
エントリ中の指定に従い、 タブの展開指定を有効または無効にする
タブを展開しない場合、 標準タブ (8 文字ごと) が設定される。これら 4 つの処理を行うための情報がエントリ中に存在しなければ、 その該当処理はスキップされますが、 それを表すメッセージは出力されません。
初期化文字列を出力する代わりに、 端末のリセット文字列が存在すればそれを出力します (rs1、rs2、rs3、rf)。リセット文字列が存在せず、初期化文字列が存在している場合には、 その初期化文字列が出力されます。 それ以外の場合には、 reset の動作は init と同一です。
terminfo データべースが存在し、 ユーザーの端末用のエントリが存在していれば (前述の -Ttype の説明を参照)、端末の長い名前が出力されます。 ここでいう長い名前とは、 terminfo データべース中の当該端末の記述における、 先頭行の最後に書かれている名前です ( term(5) を参照)。
上記 capname で指定した属性がパラメタを伴う文字列の場合、この parm で指定する値が文字列に代入されます。 数字で表された引数は、すべて数値として属性に渡されます。
最初の例は、環境変数 TERM が示す端末タイプに従って端末を初期化する処理です。なお、 profile(4) マニュアルページで説明されているように、 このコマンドは (環境変数 TERM をエクスポートした後) どのユーザーの .profile にも入れておくべきコマンドです。
example% tput init |
example% tput -T5620 reset |
example% tput cup 0 0 |
example% tput clear |
次の例は、使用している端末の列の数を表示するコマンドです。
example% tput cols |
example% tput -T450 cols |
echo "${bold}Please type in your name: ${offbold}\c" example% bold='tput smso' example% offbold='tput rmso' |
example% tput hc |
example% tput cup 23 4 |
example% tput longname |
example% tput -S <<! > clear > cup 10 10 > bold > ! |
tput の実行に影響を与える環境変数 LC_CTYPE、LC_MESSAGES、NLSPATH についての詳細は、 environ(5) を参照してください。
端末のタイプを決定します。 この変数が設定されていないかあるいは NULL に設定されていて、 -T オプションが省略された場合、デフォルトの端末タイプ (予測できない) が用いられます。
以下の終了ステータスが返されます。
capname がブール型で -S オプションが省略された場合、真を表す
capname が文字列型で -S オプションが省略された場合、 capname が当該端末タイプに対して定義されていることを表す
capname がブール型または文字列型で -S が指定された場合、すべての行が正常に処理されたことを表す
capname が整数型であることを表す
要求された文字列が正しく書き出されたことを表す
capname がブール型で -S オプションが省略された場合、偽を表す
capname が文字列型で -S が省略された場合、 capname が当該端末タイプに対して定義されていないことを表す
使用方法のエラー
指定された端末タイプに関して、情報が何も存在しない
不正なオペランドが指定された
エラーが発生した
capname は terminfo データベースに指定された数値ではなかった。たとえば tput -T450 lines や tput -T2621 xmc などが指定された
curses(3CURSES) ヘッダー
terminfo ヘッダー
ある端末用のタブ設定を、 その端末に出力する上で適切な形式 (マージンとタブを設定するエスケープシーケンス) で指定。 詳細については terminfo(4) の説明中の「タブと初期化」の項を参照
コンパイルされた端末記述データべース
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWcsu |
clear(1), sh(1), stty(1), tabs(1), curses(3CURSES), profile(4), terminfo(4), attributes(5), environ(5), term(5)
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目