下面是一个简单的脚本,我要说明我要做什么:
ssh -x user@remote-host "
function wtf
{
rm /
}; wtf"
wait
然后我在命令行中这样运行:
> if ./wtf.sh; then echo yes; else echo no; fi
rm: cannot remove '\': Is a directory
yes
显然
rm
命令失败了,但wtf.sh
成功了。我希望wtf.sh
也能返回一个负出口,这样我就可以检测到它。我该怎么做? 最佳答案
使用$?
保存最近执行的命令的返回代码。可能您的实际脚本没有示例简单(因此wait
)。变量retval
存储wtf函数的返回代码,该值从脚本返回。
ssh -x user@remote-host "
function wtf
{
rm /
return $?
}; wtf; return $?"
wait
关于bash - 我如何从bash中通过ssh远程运行的函数中检索错误代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16993790/