for循環語句的用法

for循環有三種結構:列表for循環,不帶列表for循環和類C風格for循環。

do和done之間的命令成爲循環體,執行次數和list列表中常熟或字符串的個數相同。for循環,首相是將in後list的第一個常數或字符串複製給循環變量,然後執行循環體,以此執行list,最後執行done命令後的命令序列。

shell支持列表for循環使用略寫的計數方式,1~5的範圍用{1..5}表示,

shell中還支持按規定的步數進行跳躍的方式實現for循環,例如計算1~100內所有的奇數

一、列表for循環

#!/bin/bash                            #!/bin/bash
for avrible1 in{1..5}                  sum=0
do                                     for i in {1..10..2} ; do
echo "hello,welcome $avrible1 times!"  echo $i                                    
done                                     done
                                        
#!/bin/bash
for avr in 
二、不帶列表for循環
#!/bin/bash
echo "number of
arguments is $#"
echo "What you
input is: "
for argument in
"$@"
do
echo
"$argument"
done
三、類C語言for循環
#!/bin/bash
for ((integer = 1;integer <=5; integer++))
do
        echo "$integer"
done

for i in $(cat /tmp/xuexi/iplist);do ./batch.sh $i;done

4、for循環語句的嵌套使用

語法結構:

#!/bin/bash
for 變量1 in <條件列表>
    do
    for 變量2 in <條件列表>
        do
      命令2
      done
     命令1
done

關於for循環嵌套使用打印等腰三角形

#!/bin/sh
read -p "Please input a number:" num
read -p "Please input the char:" char
  for ((i=1; i<=num; i++));
  do
        for ((j=num-i; j>0; j--));
        do
                echo -n ' '
        done
        for ((h=1; h<=((2*i-1)); h++))
        do
                echo -n "$char"  
        done
   echo
  done
root@node1 shift]# ./zsj1.sh 
Please input a number:4
Please input the char:@
   @
  @@@
 @@@@@
 @@@@@@@

在上述等腰三角形的打印過程中分類應用了三個for循環分別是,1、外層for循環用於控制打印三角形的行數,內層第一個for循環用於打印空格數,第三個則是控制字符char的輸出個數。三個for循環的使用將等腰三角形成功的打印出來。

注:{1..10..2}取奇數

   $#  參數

   $@  腳本輸入的參數其歲$#的值的標下而變小,最小值爲0


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章