Преобразование пакетного файла Windows в сценарий оболочки Linux

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

Я хотел использовать такой же сценарий в системе 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;

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


person Jennifer Weinberg    schedule 19.11.2009    source источник


Ответы (2)


Обновлено. Этот оценит, была ли команда 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
person Jeff    schedule 19.11.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)

person Douglas Leeder    schedule 19.11.2009
comment
Спасибо, Дуглас, домены, которые можно пропинговать, перечислены в файле no-response.txt. Есть ли способ получить домены, которые не отвечают. - person Jennifer Weinberg; 19.11.2009