尝试从文件或标准输入中读取,我想做这样的事情:
if [ "$1" == "-" ]
then
INPUTFILE="&0"
fi
但如果我这样做
while read ROW
do
# ... something
done <$INPUTFILE
我得到了
&0: No such file or directory
从命令行
cat <&0
完美运行,有没有办法将标准输入引用存储在变量中?
PS:我知道可以通过一种简单的方式实现相同的结果......
最佳答案
有些情况下 cat
有它的用途,这可能是其中之一:
# Use cat so it works if $1 is just -
cat $1 |
while read ROW
do
...whatever
done
记录为什么你要像这样使用 cat
;否则,它看起来像 UUOC(Useless Use of Cat)。
关于BASH - 在变量中存储标准输入引用 '&0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19361000/