萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Shell 循環語句用法

Shell 循環語句用法

  在寫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

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

copyright © 萬盛學電腦網 all rights reserved