读取可选标准输入而不阻塞

时间:2015-07-08 13:31:31

标签: shell unix cat

所以我有一个函数,可以选择通过标准输入提供额外的数据,我用cat抓取,但是,当没有标准输入时cat会阻止执行

这是一个愚蠢的例子:

foo() { echo "$@" "$(cat)"; }

基本上,它通过参数和标准输入回显作为输入的所有内容。

在这种情况下,有没有办法阻止cat阻止?目前我不得不通过调用cat来解决这个问题,如果设置了一个选项,那么我似乎真的应该只需cat就可以返回任何内容#39;没什么可读的。

1 个答案:

答案 0 :(得分:1)

foo() {
  if [ -t 0 ]
  then
    echo "$@"
  else
    echo "$@" "$(cat)"
  fi
}