从eval中运行的子shell中获取错误代码,可以使用特殊变量$?来获取。$?保存了上一个命令的退出状态码,如果命令执行成功,则$?的值为0,否则为非零值,代表错误代码。
以下是一个示例代码:
eval 'command' # 在eval中运行需要获取错误代码的命令
exit_code=$? # 获取上一个命令的退出状态码
if [ $exit_code -eq 0 ]; then
echo "命令执行成功"
else
echo "命令执行失败,错误代码为 $exit_code"
fi
在上述示例中,eval中的'command'可以替换为需要执行的命令。执行完eval后,通过$?获取命令的退出状态码,并进行相应的处理。
注意:eval的使用需要谨慎,因为它可以执行任意的Shell代码,存在安全风险。在实际开发中,应尽量避免使用eval,以减少潜在的安全漏洞。
领取专属 10元无门槛券
手把手带您无忧上云