在bash脚本中等待网络
我正在运行一个脚本,该脚本依赖于网络正常运行并安装网络共享。该脚本在登录时运行(启动后会自动发生)。问题在于,在脚本运行时,我通常还没有IP地址(DHCP)。目前,我只是将脚本休眠15秒钟,但是我根本不喜欢这种方法,因为我希望能够告诉用户是否有问题。 我的计划是,在没有IP地址的情况下进行循环,然后再继续。至关重要的是,它必须在一段时间后超时。我if [ ifconfig | grep "192.168.100" ];想到的是,但是发生的是grepconsumes ];和不喜欢它。然后bash也变得不高兴,因为它找不到那个];grep吃了。然后,我什至没有执行超时。 有人建议保留一个变量,并在每次迭代中睡一秒钟,然后每次增加该变量。这是我完整的(不起作用的)脚本(我对bash脚本还很陌生): x=0 while [ ifconfig | grep "192.168.100." > /dev/null ]; do echo "no nework" if "$x" -gt 200; then #Time out here exit 1 x=$((x+1)) sleep .1 fi done #continue with rest of script... 任何朝着正确方向的指针将不胜感激!