Linux下的shell編程入門(三)

來源:互聯網
上載者:User

四、迴圈結構語句

shell常見的迴圈語句有for迴圈、while迴圈、until迴圈

for 迴圈

文法:for 變數 in 列表

      do

          操作

      done

註:變數是要在迴圈內部用來指代當前所指代的列表中的那個對象的。

列表是在for 迴圈的內部要操作的對象,可以是字串也可以是檔案,如果是檔案則為檔案名稱。

例:刪除垃圾箱中的所有.gz檔案

#delete all file with extension of “gz” in the dustbin

for I in $HOME/dustbin/*.gz

do

    rm –f $i

    echo “$i has been deleted!”

done

執行結果如下:

[beichen@localhost bin]$.f_rmgz

/home/beichen/dustbin/nessus-4.0.0.2.tar.gz has been deleted!

/home/beichen/dustbin/gftp-2.2.1.tar.gz has been deleted!

While迴圈

文法:while 運算式

      do

      操作

      done

只要while運算式成立,do和done之間的操作就一直會進行。

until迴圈

文法:until 運算式

      do

      操作

      done

重複do和done之間的操作直到運算式成立為止。

例:

#test until

#add from 1 to 100

total=0

num=0

until test num –eq 100

do

   total=`expr $total + $num` //注意,這裡的引號是反引號,下同

   num=`expr $num+1`

done

echo “The result is $total”

執行結果如下:

[beichen@localhost bin]$until

The result is 5050!

五、條件陳述式

Shell程式中的條件陳述式主要有if語句、case語句;

If語句

文法:if 運算式1 then

        操作

      elif 運算式2 then

          操作

      elif 運算式3 then

          操作

      …..

      else

          操作

      fi

Linux裡的if的結束標誌是將if反過來寫成fi;而elif其實是else if的縮寫

其中elif理論上可以有無限多個。

Case語句

文法:case 字串 in

      值1|值2)

          操作::

      值3|值4)

          操作::

值5|值6)

          操作::

      *}

          操作::

       esac

case的作用就是當字串與某個值相同是就執行那個值後面的操作。如果同一個操作對於多個值,則使用”|”將各個值分開。在case的每一個操作的最後面都有兩個”::”,分號是必須的。

例:

case $USER in

beichen)

   Echo “You are beichen!”;;

liangnian)

   echo “You are liangnian”;  //注意這裡只有一個分號

   echo “Welcome!”;;   //這裡才是兩個分號

root)

   echo “You are root!:echo Welcome!”;; //將兩命令寫在一行,用一個分號作為分隔字元

*)

  echo “Who are you?$USER?”;;

esac

執行結果:

[liangnian@localhost bin]$ test

You are liangnian

Welcome!

關於shell編程基礎的東西就介紹這麼多,如果你想更進一步瞭解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.