|
发表于 2009-2-9 18:34:27
|
显示全部楼层
Post by mathfeel;1945187
如果a.out失败,我不想看它到stdout的输出(stderr ok)。你的第二个命令在我这里也可以。但是我不是要echo "FAIL",而是要以状态0离开整个script而不执行这行以後的其他指令。我大概发现问题的重点了。exit 和 | tail不能放在同一行。以下大概得到我需要的結果:- out=$(a.out) || (echo "FAILED"; exit 0)
- echo $out | tail
复制代码 但是这样出来的$out里面完全没有断行符。整个$out只有一行。tail变多余了。
你应该注意使用引号来引用.
实际上,我也建议使用楼上的临时文件的方法, 因为如果a.out输出内容非常多, 可能会对Shell 有很大的影响.- out="$(a.out)" || (echo "FAILED"; exit 0)
- echo "$out" | tail
复制代码 |
|