如果我已连接到互联网,我想运行一个脚本。我想的方法是我每隔5分钟运行一次crontab,它会尝试ping到网络服务器,如果不成功则运行命令,如果成功,我希望它结束脚本。
的伪代码:
#!/bin/zsh
if ping IP is unsuccessful
echo test
end
答案 0 :(得分:5)
ping
根据其成功情况设置退出状态。所以你可以这样做:
#!/bin/zsh
ping -c 1 myhost # -c pings using one packet only
if [ $? -ne 0 ]; then
echo "test"
fi
请注意,如果命令遇到错误,命令会将按照约定的退出状态($?
)设置为非零。
上述的另一个版本是:
#!/bin/zsh
if ping -c 1 myhost; then
echo "test"
fi
更简洁。