检查stderr是否是bash中的管道

时间:2009-07-29 21:54:05

标签: bash pipe stderr

我有一个bash脚本,提示用户输入'read'。如果stdout或stderr通过管道传输到终端以外的其他东西,我想压制这一步。这可能吗?

1 个答案:

答案 0 :(得分:16)

您可以使用命令test -t< filedescriptor no。>检查文件描述符是否为tty(附加到终端)。如果是,您可以提示用户。如果不是,输出可能会在某处传输或消除。

if test -t 1  ; then
  echo stdout is a tty
fi