例如系统:Ubuntu/Debian。
你们中的许多人可能通过 ping 和终端来执行此操作,但我总是在切换到其他任务时忘记这个终端。因此,弹出通知窗口会很有用。那么我能做得更好吗?
while; do
if ping -c 1 your.host.com; expr $? = 0; then
notify-send "your.host.com back online"; sleep 30s;
else
sleep 30s;
fi;
done
你会需要嘚和通知库让代码片段正常工作。脚本如下:
#!/usr/bin/env zsh
while; do if ping -c 1 $1; expr $? = 0; then notify-send "$1 back online"; sleep 30s; else sleep 30s; fi; done
答案1
我觉得这个想法不错。通过使用,while :; do ...
您可以将其移植到普通的 Bourne shell。expr
调用似乎没有必要。此外,您可能希望在找到主机时跳出循环。
while :; do
if ping -c 1 $1; then
notify-send "$1 back online"
break
fi
sleep 30s
done