退出时如何设置退出代码bash?
How set an exit code when exiting bash?
我想 运行 来自子 bash 的命令,我需要它的 return 代码;实际上它是 运行 管道,我需要 PIPESTATUS 数组,或至少一个组件。
这是我最好的猜测,但没有用。我只得到一个 0。由于 bash 没有错误,所以这是有道理的,这不是我需要的。帮忙?
bash -c "echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}"; echo $?
0
尝试使用单引号:
bash -c 'echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}'; echo $?
样本运行:
bash -c 'echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}'; echo $?
1
bash -c 'echo 123 | grep abc | sort; echo status is ${PIPESTATUS[@]}'; echo $?
status is 0 1 0
0
这上面有一个相关的post。
我想 运行 来自子 bash 的命令,我需要它的 return 代码;实际上它是 运行 管道,我需要 PIPESTATUS 数组,或至少一个组件。
这是我最好的猜测,但没有用。我只得到一个 0。由于 bash 没有错误,所以这是有道理的,这不是我需要的。帮忙?
bash -c "echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}"; echo $?
0
尝试使用单引号:
bash -c 'echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}'; echo $?
样本运行:
bash -c 'echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}'; echo $?
1
bash -c 'echo 123 | grep abc | sort; echo status is ${PIPESTATUS[@]}'; echo $?
status is 0 1 0
0
这上面有一个相关的post。