0
我試圖創建一個腳本,將A)循環通過IP列表並ping它們,如果成功嘗試登錄使用已知的憑據,如果成功與主機添加到列表這些行爲不會重複。嵌套如果聲明與ssh
如果A)主機不可用於ping,或者B)如果可用並且我的已知憑證正常工作,則此腳本按預期運行。如果它可以ping主機但ssh連接被拒絕,腳本將退出而不是使用下一個變量(或IP)。謝謝!
我有什麼至今:
while read p; do
ping -c1 -t1 $p
if [ $? -eq 0 ]
then
/usr/local/bin/sshpass -p $PW ssh -o StrictHostKeyChecking=no "$USR"@"$p" </dev/null "
scutil --get ComputerName" | tee -ai $WORKING
MACHINE=$(head -n 1 $WORKING)
if grep -Fxq $MACHINE "$FULL"
then
echo $MACHINE has been worked on already
else
echo $MACHINE has not been worked on
echo $MACHINE >> $FULL
rm -rf $WORKING
fi
else
echo ping fail
fi
done </iprange.txt
那麼最新的問題? – 123
當ssh連接被拒絕時,爲什麼它不會循環到下一個變量?如果我刪除嵌套的if循環它按預期方式工作 – Havens
什麼是「if循環」?哦,請發表[mcve]。你的例子不是最小的。 – Heinzi