繁体   English   中英

Bash脚本在成功ping时打开firefox

[英]Bash script to open firefox on successful ping

正如标题所示,我试图使用bash ping服务器,然后当它获得连接时,它将打开Firefox到显示警报屏幕的页面。 断电后,当计算机自动启动时会发生这种情况,有时可能需要一段时间才能连接到网络。 如果我将Firefox设置为在启动时启动,那么有时它会显示无连接屏幕。

这是我已经拥有的,但是在成功ping之后它似乎没有停止。

#!/bin/bash

success=0

ping hercules
while [ $success -ne 1 ]; do
    ping -c 4 hercules
            if [ $? -eq 0 ]; then
                    success=0
                    /usr/bin/firefox
            else
                    success=1
            fi
done

我相信我做的事情非常愚蠢,这应该不会那么难。

只是为了修复你的脚本,你可以在成功时退出脚本:

#!/bin/bash

while true ;  do
    if ping -c 4 hercules ; then
        /usr/bin/firefox
        exit 0
    fi
done

如果我正确理解你的问题,你想要的是继续ping。 什么时候成功,启动firefox ,并停止ping? 您当前正在设置success=1当它失败,然后退出while循环,因为success -ne 1为false。

#!/bin/bash

success=0
ping hercules
while [ $success -ne 1 ]; do
    ping -c 4 hercules
    if [ $? -eq 0 ]; then
        success=1
        /usr/bin/firefox
    fi
done
#!/bin/bash                                                                                                                                                                                                 


ping -t 1 8.8.8.8 #(-t on mac / else it -w)
SUCCESS=0
RETVAL=$?

while [ $SUCCESS -ne 1 ]; do
   if [ $RETVAL -eq 0 ]; then
    SUCCESS=1
    'LAUNCH FIREFOX HERE IF THE PING WORKS'
   else
    'DO SOMETHING'
   fi
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM