次のようなドメインのリストを出力しています。
lastdomain=`ls -lah /var/www/vhosts | wc -l`
#the variables below will be used later
IP1=`ifconfig | grep "inet addr" | sed '1 ! d' | awk '{print $2;}' | cut -c 6-19`
IP2=`ifconfig | grep "inet addr" | sed '2 ! d' | awk '{print $2;}' | cut -c 6-19`
LIST=`ls -lah /var/www/vhosts | sed "4,$lastdomain ! d" | awk '{print $9;}' | grep -v 'chroot\|default\|.skel'`
そして、私はそれぞれにpingしたい。これはほとんど機能します:
for each in $LIST
do
echo "Attempting to ping $each..."
ping -c 1 $LIST > /dev/null 2>&1 #&& break
if [ "$?" -ne "0" ]; then
echo "Host $each is not reachable! "
else
break
fi
done
ただし、それらはすべて次のように返されます。
Host exampledomain.com is not reachable!
私は何を間違っていますか?
編集:これで機能するようになりました。IPアドレスを取得するには、次のものを取り除く必要があります。
PING domain.com (IP.IP.IP.IP) 56(84) bytes of data.
64 bytes from domain.co.uk (IP.IP.IP.IP): icmp_seq=1 ttl=64 time=0.024 ms
--- domain.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.024/0.024/0.024/0.000 ms