如何将错误处理应用于子 shell

How To Apply Error Handling To Sub Shells

提问人:404 提问时间:11/17/2023 最后编辑:404 更新时间:11/17/2023 访问量:23

问:

脚本1

#!/bin/sh
set -e

VALUE="`exit 1`"
echo "$VALUE" ok

脚本2

#!/bin/sh
set -e

echo "`exit 1`" && echo ok

看起来逻辑差不多

第一个脚本仍然失败

./script1; echo $?

指纹

1

而第二个则没有

./script2; echo $?

指纹

ok
0

那么这里有什么区别呢?

是嵌套子壳的问题吗?

如何使影响所有嵌套的子外壳?set -e

或者如何使第二个脚本在替换调用错误时失败,甚至根本没有计算流?echo ok

谢谢

错误处理 子 shell

评论


答: 暂无答案