Перевод пакетного файла Windows в сценарий оболочки Linux - PullRequest
1 голос
/ 19 ноября 2009

У меня есть командный файл, который я использую, чтобы проверить, реагируют ли мои сайты на пинг. Если сайт не реагирует, скрипт записывает вывод в текстовый файл.

Я хотел использовать такой же сценарий в системе Linux.

Может ли кто-нибудь помочь мне перевести код, чтобы я мог использовать его в оболочке Linux?

set list=domains.txt
If "%list%" =="" GoTo EXIT
for /f "eol=; tokens=1*" %%i in (%list%) do ping -n 1 -w 1 www.%%i >> no-response.txt;

Большое спасибо

Ответы [ 3 ]

1 голос
/ 19 ноября 2009

Обновлен. Эта команда оценивает, была ли команда ping успешной или нет.

#!/bin/sh

list=`cat domains.txt`
for domain in $list ; do
  ping -c 1 -W 1 www.$domain
  if [ "$?" -ne "0" ] ; then
    echo $domain >> no-response.txt
  fi
done
1 голос
/ 19 ноября 2009

Все, кроме времени ожидания 1 мс:

while read DOMAIN
do
     ping -c 1 -W 1 "www.${DOMAIN}" >dev/null || echo "${DOMAIN}" >>"no-response.txt"
done <"domains.txt"

(возможно, домены.txt могут заканчиваться строкой Unix)

0 голосов
/ 20 ноября 2009
while read domain
do
 ping -c1 "$domain" -W2 1> /dev/null || echo "No response: $domain" >> no-response.txt
done < "file"
...