四.Shell之循環用法

Shell中提供了三種常用的循環語句:for循環while循環until循環
和c語言一樣,可以使用breakcontinue

for循環

用法一:直接遍歷列表

$ cat fordemo.sh 
#!/bin/bash

for var in $*
do
    echo $var
done

用法二:略寫的計數

$ cat fordemo.sh 
#!/bin/bash

for var in {1..5}
do
    echo $var
done
$ ./fordemo.sh
1
2
3
4
5

注意此處in後面爲{ },並且中間爲2個點:..
用法三:跳躍式的略寫計數

$ cat fordemo.sh 
#!/bin/bash

for var in {1..100..10}
do
    echo $var
done
$ ./fordemo.sh
1
11
21
31
41
51
61
71
81
91

用法四:配合seq命令的跳躍式略寫計數

$ cat fordemo.sh 
#!/bin/bash

for var in $(seq 1 10 100)
do
    echo $var
done
$ ./fordemo.sh
1
11
21
31
41
51
61
71
81
91

用法五:無{list},把傳參作爲默認list

$ cat fordemo.sh 
#!/bin/bash

for var
do
    echo $var
done

與用法一demo功能相同

用法六:類c風格的計數循環

$ cat fordemo.sh 
#!/bin/bash

for ((i=1; i<10; i++))
do
    echo $i
done
$ ./fordemo.sh
1
2
3
4
5
6
7
8
9

注意用法六裏面for後面爲(( ))

while循環

基本格式:

while [[表達式]]
do
    command
    command
done

demo:

$ cat fordemo.sh 
#!/bin/bash

i=0
while [[ $i -lt 8 ]]
#或者while (( $i -lt 8 )),while (( $i < 8 ))
do
   
   let "i++"
   echo $i
done
$ ./fordemo.sh
1
2
3
4
5
6
7
8

while後面使用[[ ]]時,既可以使用測試比較運算符,又可以使用普通的運算符;但是while後面使用(( ))時,只可以使用普通的運算符

unitl循環

基本格式:

until 表達式
do 
    command
    command
done

用法與while大同小異

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