- 書式
- isatty [FD]
概要
isatty
コマンドは
ファイルディスクリプタ(FD)が
端末(TTY)であるかをテストします。
FD
はファイルディスクリプタを表す数字か、
以下の文字列のどれかを指定します。
- stdin
- stdout
- stderr
指定されたFDが端末であるなら、
終了ステータス は0になります
(正常終了)。
そうでなければ、
非ゼロになり異常終了します。
標準エラー出力には
メッセージを表示しません。
実行例
対話的シェルから、
以下のコマンドを実行した場合は、
どれも正常終了します。
$ isatty $ isatty stdout $ isatty 2 $ echo | isatty 1
以下はどれも異常終了します。
$ echo | isatty $ isatty 9 $ isatty stdout > file $ isatty 2 2> file
スクリプトで使う
訳注:スクリプトで set_color を使って
色付き出力をするかどうかを決定する場合は
isatty stdout
で確認します。
function color_test if isatty stdout set_color green echo green!! else set_color normal echo normal. end end color_test color_test | cat
対話的シェルから実行したとき、
結果は以下のようになります。
green!!(緑文字) normal.(通常文字)
前者は標準出力が端末であり、
後者は cat
へのパイプだからです。
最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。