質問

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

役に立ちましたか?

解決

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

if test -t 1  ; then
  echo stdout is a tty
fi
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top