继续bash脚本

时间:2015-03-14 05:15:44

标签: regex linux bash

在主机(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

1 个答案:

答案 0 :(得分:0)

您可以使用dig,以避免搜索host的输出:

IP=$(dig +short $SERVERNAME)

然后检查主机是否还活着:

if ping -q -c $IP >/dev/null 2>&1
then
    echo "OK"
fi