tty コマンド
目的
ユーザーの端末の絶対パス名を標準出力に書き出します。
構文
/usr/bin/tty [ -s ]
説明
tty コマンドは、ユーザーの端末の名前を標準出力へ書き出します。
標準入力が端末ではなく、-s フラグを指定していない場合は、「Standard input is not a tty」というメッセージが表示されます。
以下の環境変数は、tty コマンドの実行に影響を与えます。
| 項目 | 説明 |
|---|---|
| LANG | LC_ALL 変数と LC_ で始まる対応する環境変数の両方にロケールが指定されていない場合に、ロケール・カテゴリー用に使用するロケールを決定します。 |
| LC_ALL | 使用するロケールを決定します。 この変数は、LC_ で始まる他の環境変数または LANG 変数で指定されるロケール・カテゴリー用のあらゆる値をオーバーライドします。 |
| LC_CTYPE | テキスト・データのシーケンスを文字として解釈するためのロケールを決定します。 例えば、この変数は 1 バイト文字の代わりにマルチバイト文字を指定することもできます。 |
| LC_MESSAGES | メッセージ用の言語を決定します。 |
フラグ
| 項目 | 説明 |
|---|---|
| -s | パス名の報告を抑制します。 |
終了状況
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 標準入力は端末です。 |
| 1 | 標準入力は端末ではありません。 |
| >1 | エラーが発生しました。 |
例
- ユーザーのディスプレイの絶対パス名を表示するためには、次のように入力します。
tty - 標準入力が端末かどうかを検査するには、次のように入力します。
if tty -s then echo 'Enter the text to print:' >/dev/tty qprt - fi
標準入力が端末の場合は、「"Enter the text to print:"」というメッセージがプロンプトとして表示され、ユーザーが入力したテキストを出力します。標準入力が端末でない場合は何も表示されず、標準入力から読み取ったテキストが出力されるだけです。
echo . . . >/dev/tty は、シェル・プロシージャーの標準出力をリダイレクトした場合でも、画面にプロンプトを表示します。この方法では、プロンプトが出力ファイルに書き込まれることはありません。 スペシャル・ファイル /dev/tty は、 /dev/console または /dev/tty2 などの別名を持っていても、 常にユーザーの端末を参照します。
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/tty | tty コマンドが入っています。 |
| /dev/tty | tty 疑似デバイスを指定します。 |