Shell 迴圈語句用法

來源:互聯網
上載者:User

  在寫shell指令碼時,常常會用到迴圈語句。這裡簡單總結下常用的3種迴圈語句,以便以後能快速地參考寫出,廢話不說,開始demo:

  1、for

  主要用於:在以知序列裡遍曆元素

  [plain] view plaincopy #! /bin/sh -

  if [ $# -ge 1 ]; then path=$@ else path=*.sh fi

  for i in $path do ls -lh $i done注意:for迴圈的in列表時可選的,如果省略,shell會遍曆整個命令列參數,此時  for i  相當於 for i in "$@"

  再給一個for的用法樣本:

  [plain] view plaincopy #! /bin/sh -

  for i in `seq 1 9` do echo $i done注意:for in 可以和 `` 與 $() 合用

  再給一個for的用法樣本:

  [plain] view plaincopy #! /bin/sh -

  for i in {a……z} do echo $i done

  注意:for in 的大括弧{}具有自動補齊功能,大括弧與要補齊的內容之間不能有空格,要補齊的內容首尾由兩個……相連,其間不能有空格再給個for的用法樣本:

  [plain] view plaincopy #! /bin/sh -

  for (( i=1; i<=10; i++ ))

  do echo $i done提醒:這個主要是用了(())

  2、while

  主要用於:當某條件成立時,一直執行

  [plain] view plaincopy #! /bin/sh -

  cnt=9

  while [ $cnt -ge  0 ] do echo  $((cnt——))

  done

  注意:1、算術運算,需要放在$(()) 的括弧中

  2、對於變數的算術運算,在$(())中,變數前面不需要$

  3、unitl

  主要用於:當某條件成立時,停止執行

  [plain] view plaincopy #! /bin/sh -

  cnt=9 until [ $cnt -lt 0 ] do echo $cnt cnt=$((cnt - 1))

  done

  注意:給變數賦值時,前面不要加$

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.