如何从命令获取退出代码exec
?
这是示例代码。对于其他命令它有效,但不适用于exec
.
exec "somethings"
if [ $? == 0 ];
then
echo -e "Done\n"
exit 0
else
echo -e "error\n"
exit 1
fi
答案1
当我有同样的问题时,这对我有帮助。
当您成功使用 exec 时,exec 程序将替换您的 shell。 exec 程序的退出状态将发送回执行 shell 的父进程。
exec 后面的行可以解释 exec 的退出状态的唯一方法是 exec 调用失败,通常仅当请求的命令不存在或文件不可执行时。这不包括选项解析问题,因为这些问题是由 exec 程序启动后解析的。
如果您希望 shell 解释程序的退出代码,则不能使用 exec 来执行此操作。只需在 shell 中运行该程序,完成后您就可以查看退出状态。