2009-11-19 2 views
1

У меня есть командный файл, который я использую, чтобы проверить, реагируют ли мои сайты на пинг. Если сайт не реагирует, сценарий записывает вывод в текстовый файл.Перевод командного файла 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; 

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

ответ

1

Все, кроме таймаут 1мс:

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

(domains.txt может понадобиться Unix окончаний строк)

+0

Благодаря Дуглас, домены, которые могут быть пингуется перечислены в файле "нет-response.txt". Есть ли способ получить домены, которые не отвечают. –

+0

Неужели Windows ping не выводит на успех ??? –

1

Обновлено. Этот будет оценивать, была ли команда 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 
0
while read domain 
do 
ping -c1 "$domain" -W2 1> /dev/null || echo "No response: $domain" >> no-response.txt 
done < "file" 
Смежные вопросы