shell 死迴圈

來源:互聯網
上載者:User

標籤:

 例1: 運行指令碼後會自動載入firefox瀏覽器,並開啟指定網頁。如果使用者關閉firefox,指令碼會再次自動重新開啟firefox。
     如需結束迴圈,中止t2.sh進程即可。注意不要同時執行兩個t1.sh指令碼,否則……
     若事先不知道指令碼名,也可以通過類似於"pstree | grep firefox"的命令獲知其進程樹,找到其父進程名killall掉即可。
     或者使用類似於"ps -elf | grep firefox | grep -v grep| awk ‘{print $5}‘"的命令,尋找firefox相關進程的父進程pid,選最小的一個幹掉。  檔案名稱:t1.sh
  測試方式:執行sh t1.sh &
  檔案內容:
#!/bin/bash
while true
do
  /usr/bin/firefox http://www.baidu.com
  wait
done ###########################################################################
例2: 運行指令碼後會檢查、校正eth0網卡的IP設定等參數,並檢查web程式(80連接埠)是否正常監聽,否則自動載入預設的httpd服務。以後每隔5分鐘檢查一次。
  檔案名稱:t2.sh
  測試方式:sh t2.sh &
  檔案內容:
#!/bin/bash
while true
do
  NOWIP=`/sbin/ifconfig eth0 | grep ‘inet addr‘ | cut -d : -f2 | awk ‘{print $1}‘`
  if [ $NOWIP != ‘192.168.2.20‘ ] ; then
      /sbin/ifconfig eth0 192.168.2.20/24
      /sbin/ifconfig eth0 up
      /sbin/route add default gw 192.168.2.1
      echo -e ‘nameserver 192.168.2.1\nnameserver 202.106.0.20‘ > /etc/resolv.conf
  fi
  PNUM=`netstat -anptl | grep :80 | wc -l`
  if [ $PNUM  -eq 0 ] ; then
      /etc/init.d/httpd start
  fi
  sleep 5m
done

補充:
while語句
文法:
while 命令/條件
do
語句
done
 
機制:如果while後的命令執行成功,或條件真,則執行do和done之間的語句,執行完成後,再次判斷while後的命令和條件;如果while後的命令執行失敗,或條件為假,迴圈結束
 
例如:
while date
do
echo “aa”
done
 
特例:無條件迴圈
while true
do
語句
done

while可以用作無窮迴圈,很多地方都用到無窮迴圈。一個無窮迴圈如下所示:
while(true) { 
    迴圈內容; 
      ... 
 }
無窮迴圈可以由自己迴圈中的某個條件式來結束。下面是一個迴圈內部終止的例子:
while(true) {
    語句; 
      if(條件式) 
                break;  // 跳離迴圈
       ...


http://www.cublog.cn/u1/40349/showart_392705.html
http://wanghai.blog.51cto.com/770518/160642
http://edu.codepub.com/2009/0531/5100.php

shell 死迴圈

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.