我有以下脚本在系统启动时通过/etc/init.d/service运行。但是在系统启动时,有时DHCP ip从路由器无效,因此它显示空页或无效页。如果能够真正ping 8.8.8.8或类似的话,我如何执行以下chrome-browser?
这样它不显示无效页面,并且不需要人工参与键盘刷新页面或手动重启脚本?
#!/bin/bash
export DISPLAY=:0.0
pgrep -f chromium-browser | xargs kill
pgrep -f x11vnc | xargs kill
sudo -u user1 chromium-browser "https://stackoverflow.com/questions" &
sudo -u user1 x11vnc -forever -passwd 1234 &
答案 0 :(得分:2)
您可以在脚本中添加计时器:
while ! ping -c 1 8.8.8.8 | grep '1 received'
do
:
done
如果您想确保它不会永远运行:
timeout=600 # seconds
start_time="$(date +%s)"
end_time="$(($start_time + $timeout))"
while ...
if [ "$(date +%s)" -gt "$end_time" ]
then
echo "$0 timed out" >&2
exit 1
fi
...
done