天天看點

Linux shell腳本 for while 循環循環for循環及while循環的應用

文章目錄

  • 循環
    • for語句結構(常用)
    • while語句結構(常用)
    • until語句結構
  • for循環及while循環的應用

循環

        在實際工作中,當某一些操作需要重複的執行,而每次執行時僅僅是處理的對象不一樣。例如,有一個檔案每一行存放一條IP位址的記錄,根據記錄ping判斷主機ip是否存活。正常情況下,是每一條記錄單獨提取出來執行ping指令,這樣做工作效率地下,把ping指令放在循環裡,把IP位址作為處理的對象給ping指令執行,提高工作效率。

for語句結構(常用)

for 變量名 in 取值清單

do

    指令序列

done

while語句結構(常用)

while 條件測試操作

do

    指令序列

done

  • while循環 條件測試操作 結果為真才會接着循環
  • break 退出目前的循環
  • continue 退出目前的操作,繼續執行下一次循環
  • exit 直接退出腳本 可以跟傳回碼,用來監控腳本錯誤

until語句結構

until 條件測試操作

do

    指令序列

done

  • until循環 條件測試操作 結果為假才會接着循環

for循環及while循環的應用

[[email protected] ~]# vim dysjx.sh 

#!/bin/bash
#列印菱形的腳本
#作者:lvbin
read -p "請輸入三角形邊長: " a
for ((i=1;i<=$a;i++))
do
     for ((j=1;j<=$a-$i;j++))
     do
     echo -n " "
     done
     for ((j=1;j<=$i;j++))
     do
     echo -n "* "
     done
     echo
done
for ((i=1;i<=$a-1;i++));do
        for ((j=1;j<=$i;j++))
        do
        echo -n " "
        done

        for ((j=1;j<=$a-$i;j++))
        do
        echo -n "* "
        done
        echo
done
           
Linux shell腳本 for while 循環循環for循環及while循環的應用
#!/bin/bash
#while循環的腳本
#作者:lvbin

read -p "計算1到?的累加和,請輸入?的值" num
sum=0
i=1
while [ $i -le $num ]
do
        let sum+=$i
        let i++
done
echo "1-$num的總和是:"$sum
           
Linux shell腳本 for while 循環循環for循環及while循環的應用

繼續閱讀