0
A) 알려진 IP 주소로 성공적으로 로그인하려고 시도하고 IP 주소가 성공적으로 목록에 호스트가 추가 된 경우 IP 목록을 차례로 순환하는 스크립트를 만들려고합니다. 동작이 반복되지 않습니다.ssh로 중첩 된 If 문
이 스크립트는 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