ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 端末の初期化または terminfo データべースの照会
tput [-T type] capname [parm]...
tput -S <<
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 で指定する値が文字列に代入されます。数字で表された引数は、すべて数値として属性に渡されます。
例 1 TERM に従った端末の初期化
最初の例は、環境変数 TERM が示す端末タイプに従って端末を初期化する処理です。なお、profile(4) マニュアルページで説明されているように、このコマンドは (環境変数 TERM をエクスポートしたあと) どのユーザーの .profile にも入れておくべきコマンドです。
example% tput init
例 2 端末の初期化
次の例は、 AT&T 5620 端末を初期化して、 環境変数 TERM が示す端末タイプを置き換えるコマンドです。
example% tput -T5620 reset
例 3 カーソルの移動
次の例は、画面上の行番号 0 列番号 0、つまり左上角 (通常ホームポジションと呼ばれている位置) にカーソルを移動するためのシーケンスを送るコマンドです。
example% tput cup 0 0
次の例は、カーソルを 23 行 4 列に移動させるシーケンスを送信するコマンドです。
example% tput cup 23 4
例 4 画面をクリアするシーケンスのエコー
次の例は、使用している端末の画面をクリアするシーケンスをエコーさせるコマンドです。
example% tput clear
例 5 列の数の表示
次の例は、使用している端末の列の数を表示するコマンドです。
example% tput cols
次の例は、 450 型端末の列の数を表示するコマンドです。
example% tput -T450 cols
例 6 シェル変数の設定
次の例は、使用している端末を、シェル変数 bold を強調モード・シーケンスを開始する値に設定し、 offbold を強調モード・シーケンスを 終了する値に設定するコマンドです。このコマンドを実行すると、 以下のプロンプトが出力されることがあります。
echo "${bold}Please type in your name: ${offbold}\c" example% bold='tput smso' example% offbold='tput rmso'
例 7 終了ステータスの設定
次の例は、使用している端末がハードコピー端末であるかどうかを 示す終了ステータスを設定するコマンドです。
example% tput hc
例 8 terminfo からの長い名前の表示
次の例は、環境変数 TERM が示す端末タイプに対応した長い名前を terminfo データべースから検索して表示するコマンドです。
example% tput longname
例 9 1 回の呼び出しでの複数機能の処理
最後の例は、 1 回の呼び出しで複数の機能を処理する tput コマンドです。この例では、画面をクリアーし、カーソルを 10 行 10 列の位置に移動させ、ボールド (超高輝度) モードをオンに設定するという一連の処理を実行しています。処理の記述の終わりは、感嘆符 (!) だけの行で表します。
example% tput -S <<! > clear > cup 10 10 > bold > !
tput の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。 LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、および NLSPATH。
端末のタイプを決定します。この変数が設定されていないかあるいは 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) を参照してください。
|
clear(1), sh(1), stty(1), tabs(1), curses(3CURSES), profile(4), terminfo(4), attributes(5), environ(5), standards(5), term(5)