我可以在bash脚本中测试打开的stdin流吗



假设我想将脚本的所有输入写入日志文件、命令行和标准中。因此,如果有人将文本通过管道发送到我的脚本,我也想将其写入日志,但如果我在没有输入的情况下被调用(例如,从登录shell),如果我尝试在中使用catread标准,脚本将被阻止,等待用户键入内容。

我可以以某种方式测试开放输入流吗?或者只是捕获所有的标准in,如果并且仅当存在标准in?

您可以在命令test上使用-t选项。

发件人:

-t FD文件描述符FD在终端上打开

if [ -t 0 ]; then
  echo "Pipe not open"
else
  echo "Pipe available"
fi

相关内容

  • 没有找到相关文章

最新更新