在主机(IP)的成功视图之后,我需要ping它们以检查它们是否已启动。 SIDS文件包含2列主机名。关于如何改进下面的代码,有什么建议吗?
#!/bin/bash
LINES=`cat /home/marko/SIDS | sed "s!/!-!g" | wc -l`
for (( i=1; i<=${LINES}; i++))
do
FIRSTIP=CPE-`sed -n "${i}{p;q}" /home/marko/SIDS | awk '{print $1}'| sed "s!/!-!g"`
SECONDIP=CPE-`sed -n "${i}{p;q}" /home/marko/SIDS | awk '{print $2}'| sed "s!/!-!g"`
COUNT=$( host ${FIRSTIP} | grep address | wc -l )
if [ $COUNT -gt 0 ]
then
echo success
else
echo ${SECONDIP}
fi
done
答案 0 :(得分:0)
您可以使用dig
,以避免搜索host
的输出:
IP=$(dig +short $SERVERNAME)
然后检查主机是否还活着:
if ping -q -c $IP >/dev/null 2>&1
then
echo "OK"
fi