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 エラーが発生しました。

  1. ユーザーのディスプレイの絶対パス名を表示するためには、次のように入力します。
    tty
  2. 標準入力が端末かどうかを検査するには、次のように入力します。
    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 疑似デバイスを指定します。