首頁  >  問答  >  主體

linux - bash shell while loop无法break

为什么这个while循环执行完echo while00 && echo while01后不break

while $(sleep 0.5); do pgrep -f baidu > /dev/null 2>&1 || (echo while00 && echo while01 && break); done

监听进程退出后,执行后面的命令
比如ping -c 10 -i 1 baidu.com

黄舟黄舟2742 天前718

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-17 12:03:12

    (...) 會建立一個子 shell,所以 break 不工作。

    其實依照你的程式碼意圖,這裡不寫括號是完全沒問題的,直接去掉括號就可以了。

    P.S. 你前面寫的 while $(sleep 0.5) 是對 shell 指令的誤用,這裡應該寫 while sleep 0.5,加個 $ 多此一舉了。

    回覆
    0
  • 取消回覆