【发布时间】:2018-12-16 14:02:20
【问题描述】:
我正在尝试执行一个脚本,在脚本的中途,它在远程 shell 中执行部分代码,然后再次返回到同一个本地 shell。
但是,我的问题是关于在远程 shell 中执行的命令的退出代码。我正在尝试根据退出代码使用 if-then-else 进行远程决策。当它没有按预期执行时,我试图缩小问题范围。
这是我的发现,
输出始终是 IP Found,如 $?总是等于 0。
ssh root@<remote server> bash -c "'
host www.google.com123
if [ $? != 0 ]
then
echo "Invalid Host"
else
echo "IP Found"
fi
'"
此外,在这种情况下,预期输出相同
ssh root@<remote server> bash -c "'
host www.google.com
if [ $? != 0 ]
then
echo "Invalid Host"
else
echo "IP Found"
fi
'"
参考:我是从here了解到这个远程执行方法的
请帮助我了解远程 shell 执行的这种行为。另外,如果有任何其他方法可以通过 ssh 远程执行部分 shell 脚本,请提出建议。
【问题讨论】: