当前位置: 技术问答>linux和unix
[新手求助]问人极简单但又困扰我很久的问题!!
来源: 互联网 发布时间:2016-10-13
本文导语: 想做个定时任务 定时用fping,检测多台主机的网络是否正常。 写了个简单的定时任务,运行一个sh运行脚本,但总是报怨错。 代码如下: #!/bin/sh fping 192.168.1.1 > fping.log fping 192.168.1.18 >> fping.log fping 192.168.1.17 >> fp...
想做个定时任务
定时用fping,检测多台主机的网络是否正常。
写了个简单的定时任务,运行一个sh运行脚本,但总是报怨错。
代码如下:
#!/bin/sh
fping 192.168.1.1 > fping.log
fping 192.168.1.18 >> fping.log
fping 192.168.1.17 >> fping.log
cat fping.log | while read line
do
echo $line
echo ${line:0-4}
if [[${line:0-4} == "live"]]
then
date >> error.log
echo $line >> error.log
else
echo "$line ok" >> check.log
fi
done
但总是报错
192.168.1.1 is alive
live
fping.sh: line 10: [[live: command not found
192.168.1.18 is alive
live
fping.sh: line 10: [[live: command not found
192.168.1.17 is unreachable
able
fping.sh: line 10: [[able: command not found
也就是第10行这种比较字符串的比较方法不行。
我上网也搜索了一下,但还是没有找到合适的方法,请高手们指点一下。
定时用fping,检测多台主机的网络是否正常。
写了个简单的定时任务,运行一个sh运行脚本,但总是报怨错。
代码如下:
#!/bin/sh
fping 192.168.1.1 > fping.log
fping 192.168.1.18 >> fping.log
fping 192.168.1.17 >> fping.log
cat fping.log | while read line
do
echo $line
echo ${line:0-4}
if [[${line:0-4} == "live"]]
then
date >> error.log
echo $line >> error.log
else
echo "$line ok" >> check.log
fi
done
但总是报错
192.168.1.1 is alive
live
fping.sh: line 10: [[live: command not found
192.168.1.18 is alive
live
fping.sh: line 10: [[live: command not found
192.168.1.17 is unreachable
able
fping.sh: line 10: [[able: command not found
也就是第10行这种比较字符串的比较方法不行。
我上网也搜索了一下,但还是没有找到合适的方法,请高手们指点一下。
|
[[ cmd ]]注意空格