8

ユーザーに「読み取り」の入力を求めるbashスクリプトがあります。stdout または stderr が端末以外にパイプされている場合、このステップを抑制したいと思います。それは可能ですか?

4

1 に答える 1

16

コマンド test -t <filedescriptor no.> を使用して、ファイル記述子が tty (端末に接続されている) であるかどうかを確認できます。そうである場合は、ユーザーにプロンプ​​トを表示できます。そうでない場合、出力はおそらくどこかにパイプまたはリダイレクトされます。

if test -t 1  ; then
  echo stdout is a tty
fi
于 2009-07-29T22:02:15.237 に答える