Shell學習筆記,shell指令碼
一、for迴圈1. 文法格式1
for 變數 in 值1 值2 值3 ...do 程式done
說明:程式將遍曆所有的值,賦值給變數,然後在執行程式。也就是說,後面接多少個值,程式就迴圈多少次。
2. 樣本1:遍曆5個數,進行輸出
#!/bin/bashfor i in 1 2 3 4 5do echo $idone#輸出結果12345
3. 樣本2:遍曆目錄下的所有檔案,進行輸出檔案名
#!/bin/bashfor file in $(ls) #註:ls會將目前的目錄下的所有檔案列出來,然後逐個賦值給file,就可以逐個輸出了do echo $filedone
4. 文法格式2
for (( 初始值;迴圈控制條件;變數變化 ))do 程式done
說明:這種格式和C語言for迴圈的格式是一樣的,區別只是需要用雙括弧括住迴圈條件。
5. 樣本1:計算1到100的總和
#!/bin/bashsum=0for ((i=1;i<=100;i=i+1))do sum=$(($sum+$i)) #同樣可以使用,sum=$[$sum+$i]doneecho $sum#輸出5050
二、while迴圈1. 文法格式
while [條件判斷式]do 程式done
說明:當條件判斷式成立時,才會執行程式,直到條件判斷式不成立時,才退出迴圈。
2. 樣本:計算1到100的總和
#!/bin/bashi=1sum=0while [ $i -le 100 ]do sum=$(( sum+i )) i=$(( i+1 ))doneecho $sum#輸出5050
三、until迴圈1. 文法格式
until [條件判斷式]do 程式done
說明:until迴圈和while迴圈是相反的,當條件判斷式不成立時,才會執行程式,直到條件判斷式成立,才退出迴圈。
2. 樣本:計算1到100的總和
#!/bin/bashi=1sum=0until [ $i -gt 100 ]do sum=$(( sum+i )) i=$(( i+1 ))doneecho $sum#輸出結果5050