输出before\n
:
#!/usr/bin/env bash
set -e
echo before
((0))
echo after
删除set -e
或更改((0))
为((1))
使程序输出before\nafter\n
符合预期。
为什么((0))
触发set -e
退出条件?
这将解释:
((0))
echo $?
1
((1))
echo $?
0
因此,这是由于使用(( and ))
脚本时正在退出的算术表达式求值的返回状态为非零set -e
。
就像这样help set
说:
-e如果命令以非零状态退出,则立即退出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句