2009-11-19 6 views
1

내 사이트가 ping에 반응하는지 확인하는 데 사용하는 배치 파일이 있습니다. 사이트가 반응하지 않으면 스크립트는 출력을 텍스트 파일에 씁니다.Windows 배치 파일을 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

모든이 1ms의 시간 제한을 제외하고 많은 :

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

(domains.txt 유닉스 라인 엔딩을해야 할 수도 있습니다)

+0

감사합니다 더글러스, 도메인은 "노 response.txt"파일에 나열되어 있습니다. 응답하지 않는 도메인을 얻을 수있는 방법이 있습니까? –

+0

Windows ping이 성공적으로 출력되지 않습니까 ??? –

1

가 업데이트되었습니다. 이 명령은 ping 명령의 성공 여부를 평가합니다. 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" 
관련 문제