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 (将#修改为@)