假设我在 unix shell 中执行此操作
$ some-script.sh | grep mytext
$ echo $?
这会给我
grep
的退出代码但是我怎样才能得到
some-script.sh
的退出代码编辑
假设管道操作是不可变的。即,我无法将其分解并单独运行这两个命令
最佳答案
有多种解决方案,这取决于您想要做什么。
最简单易懂的方法是将输出发送到一个文件,然后在保存退出代码后对其进行 grep:
tmpfile=$(mktemp)
./some-script.sh > $tmpfile
retval=$?
grep mytext $tmpfile
rm tmpfile
关于unix shell,使用管道子获取退出代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2851622/