如何解决While循环SSH连接
我正在编写一个bash脚本来更改所有fortigate的密码。 我必须选择所有IP公共防护措施,并且必须测试连接的好坏。 通过下面的命令,我知道我的ssh连接返回了一些错误, 0 =连接良好。
sshpass -p [PASSWORD] ssh -q -oStrictHostKeyChecking=no [USERNAME]@[LOCAL_IP] > /dev/null
现在,我要将其放入脚本中以测试所有可触发的ssh连接并将其放入邮件中。 但是,当我将命令放入while循环中时,该循环仅运行一次(完全工作,无需测试ssh连接)
if [ "$?" == "0" ]
then
echo "(./forti.sh) | sshpass -p $p ssh -oStrictHostKeyChecking=no $u@$IP" >> $base/change_password.sh
./change_password.sh
echo "<td id="rouge"></td>" >> pass_mail.html
rm $base/change_password.sh
else
echo "<td id="rouge"></td>" >> pass_mail.html
rm $base/change_password.sh
fi
所以这是我的脚本块,用于验证情况是否发生,如我在while循环运行一次之前所说的那样,即使它是真的。
您对我的问题有任何了解吗?
如果不清楚,请随时询问细节。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。