所以我有一个函数,可以选择通过标准输入提供额外的数据,我用cat
抓取,但是,当没有标准输入时cat
会阻止执行
这是一个愚蠢的例子:
foo() { echo "$@" "$(cat)"; }
基本上,它通过参数和标准输入回显作为输入的所有内容。
在这种情况下,有没有办法阻止cat
阻止?目前我不得不通过调用cat
来解决这个问题,如果设置了一个选项,那么我似乎真的应该只需cat
就可以返回任何内容#39;没什么可读的。
答案 0 :(得分:1)
foo() {
if [ -t 0 ]
then
echo "$@"
else
echo "$@" "$(cat)"
fi
}