Есть такой скрипт. Но он не работает, потому что return 0 выходит из обоих циклов. Можно ли как-нибудь выйти из цикла for, но остаться в цикле while?
#!/bin/sh
phosts="hosts.list"
pcount="1"
ppause="1"
while true ; do
for host in `cat ${phosts}` ; do
ping -c${pcount} ${host} && return 0
done
[ $? ] || echo OLOLO
sleep ${ppause}
done