例如,我试图编写脚本来 ping 某个地址,Google.com
当连接丢失时,将日志写入文件。我不知道该怎么做。例子:
ping goodle.com
如果已连接,只需 ping
如果未连接,则将日志写入文件
答案1
最简单的形式,你可以这样做:
ping -c2 google.com 2>&1 >/dev/null || echo "$(date) host not available" >> /tmp/mylogfile
ping
如果可以 ping 通则返回成功(退出代码 0),否则返回非零代码,因此只有在第二种情况下才会执行 echo。 (-c2
意味着只需 ping 两次,通常ping
会尝试再试,直到您停止为止。)
答案2
if ! ping -c2 google.com >/dev/null 2>&1; then
printf '%s\tgoogle.com not reachable\n' "$(date)" >>logfile
fi
这使得ping
尝试 ping Google 两次。如果失败(ping
返回非零退出状态),则会在日志文件中添加一条消息。