shell脚本ping和telnet

#!/bin/shserverPT(){ping=`ping-c1$1`if["X'${ping}|grep"alive"'"!="X"];thenechoping$1o... #!/bin/sh

serverPT()
{
ping=`ping -c 1 $1`
if [ "X'${ping} | grep "alive"'" != "X" ];then
echo ping $1 ok
telnet=`telnet $1 $2`
if [ "X'${telnet}|grep "Connected"'" != "X" ];then
echo telnet $1 $2 ok
else
echo 自动检测:telnet $1 $2 failed >> /20120208/check.txt
else
echo 自动检测:ping $1 failed >> /20120208/check.txt
/CheckMail/CSMrun.sh
fi
done
}

serverip1 = "125.76.000.169"
serverport1 = "8080"

serverPT $serverip1 $serverport1

就是现在系统是ping通就返回XXX.XX.XX.XXX is alive 否则就什么也没有
telnet通就显示 connected XXX.XXX.XXX 否则只显示一个try xxx.xxx.xxx
我不怎么熟悉shell 可能语法 标点都都错了 望指出
展开
 我来答
luneng8183
2012-02-21 · TA获得超过902个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:511万
展开全部
很明显的一个错误就是if要用fi结束,你脚本里有两个if,我却只能找到一个fi;

第二点就是telnet那部分,telnet=`telnet $1 $2`应该就死住没反应了,你手动模拟一下就好了,比如我:

telnet 192.168.243.1 3131
Trying 192.168.243.1...
Connected to 192.168.243.1.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

如果我不键入^](ctrl+])的话,这个telnet进程是不会结束的,不会结束的话,脚本也就不会进行下一步。
更多追问追答
追问
我现在手动telnet一个地址加端口的信息 您看看

bash-2.05# 123.sh
Trying 125.00.000.169...
Connected to 125.00.000.169.
Escape character is '^]'.
Connection to 125.00.000.169 closed by foreign host.
我没有任何操作 过了4 5 秒他就退出来了
追答
那就是超时退出了,当然这样的话,也可以算成功。那你先把if和fi配套的问题解决一下就好了。我试着理解并修改了一下,你看看可以么?这个逻辑是ping通才试着telnet,否则直接ping失败,然后退出。
#!/bin/sh

serverPT()
{
ping=`ping -c 1 $1`
if [ "X'${ping} | grep "alive"'" != "X" ];then
echo ping $1 ok
telnet=`telnet $1 $2`
if [ "X'${telnet}|grep "Connected"'" != "X" ];then
echo telnet $1 $2 ok
else
echo 自动检测:telnet $1 $2 failed >> /20120208/check.txt
fi
else
echo 自动检测:ping $1 failed >> /20120208/check.txt
/CheckMail/CSMrun.sh
fi
done
}
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式