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

有帮助吗?

解决方案

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

if test -t 1  ; then
  echo stdout is a tty
fi
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top