簡體   English   中英

繼續執行bash腳本

[英]Continue a bash script

在成功查看主機(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

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

IP=$(dig +short $SERVERNAME)

然后檢查主機是否還活着:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM