如果没有输入,目标是甚至不启动$ foo。
如果foo =“diff - xyz”,输入缺失或为空,这可能很有用。 否则,diff将输出所有“xyz”作为差异。
最初的问题是“cat doesnotexist | diff - exists”输出“exists”的内容(以“>”为前缀),而我希望整个管道失败。 我目前的解决方案是:
cat doesnotexist | (read first|| exit 1; (echo "$first"; cat) | diff - exists)
,但我想要一个较短的。
答案 0 :(得分:0)
[ -f doesnotexist ] && diff doesnotexist exists
我删除了管道,它在您的示例中没有附加值。严格来说,这不会让差异失败,它只是没有被执行。