将Windows批处理文件转换为Linux shell脚本

时间:2009-11-19 14:24:11

标签: batch-file shell ping

我有一个批处理文件,用于检查我的网站是否对ping做出反应。 如果站点没有反应,脚本会将输出写入文本文件。

我想在Linux系统上使用相同类型的脚本。

任何人都可以帮我翻译代码,以便我可以在Linux shell上使用它吗?

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 个答案:

答案 0 :(得分: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可能需要Unix行结尾)

答案 1 :(得分: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

答案 2 :(得分:0)

while read domain
do
 ping -c1 "$domain" -W2 1> /dev/null || echo "No response: $domain" >> no-response.txt
done < "file"