Shell循環語句多種用法

for循環語句

列表形式有:

實例1 在命令中定義一系列的值

第一種寫法:
[root@localhost ~]# vim 1.sh
#!/bin/bash
for i in 1 2 3 4                             //在命令中定義列表
do
echo $i
done
[root@localhost ~]# sh 1.sh
1
2
3
4
第二種寫法:
[root@localhost ~]# vim 2.sh
#!/bin/bash
for i in {1..5}
do
echo $i
done
[root@localhost ~]# sh 2.sh
1
2
3
4
5

使用{初始值..結束值}來表示一個區間的數值

實例2 以變量爲列表

[root@localhost ~]# vim 3.sh
#!/bin/bash
list="1 2 3 4"
for i in $list
do
echo $i
done
[root@localhost ~]# sh 3.sh
1
2
3
4

實例3 用命令生成列表

[root@localhost ~]# vim 4.sh
#!/bin/bash
for i in `seq 1 1 5`
do
echo $i
done
[root@localhost ~]# sh 4.sh
1
2
3
4
5

使用seq命令生成列表,seq命令的格式爲:seq 初始值 遞增值 終止值

實例4 將目錄作爲列表

[root@localhost ~]# vim 5.sh 
#!/bin/bash
for i in /root/*
do
if
[ -d "$i" ]
then
echo "$i is a directory"
elif
[ -f "$i" ]
then
echo "$i is a file"
fi
done
[root@localhost ~]# sh 5.sh 
/root/5.sh is a file
/root/a is a directory
/root/anaconda-ks.cfg is a file
/root/a.sh is a file
/root/initial-setup-ks.cfg is a file

利用for循環語句計算出“1+……+100”的值

[root@localhost ~]# vim 6.sh
#!/bin/bash
sum=0
for ((i=1;i<=100;i++ ))
do
let sum+=$i
done
echo "1+..+100="$sum
[root@localhost ~]# sh 6.sh
1+..+100=5050

利用while循環語句計算出“1+……+100”的值

[root@localhost ~]# vim 7.sh
#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
let sum+=$i
let i++
done
echo "1+..+100="$sum
[root@localhost ~]# sh 7.sh
1+..+100=5050

退出正在進行循環的命令:

[root@localhost ~]# vim 8.sh 
#!/bin/bash
for i in 1 2 3 4 5
do
if
[ $i -eq 3 ]
then
break
fi
echo $i
done
[root@localhost ~]# sh 8.sh
1
2
Linux腳本中的break continue exit 都有結束循環的作用,但是它們的區別
* **break:**結束並退出循環

* **continue:**在循環中不執行continue下面的代碼,轉而進入下一輪循環

* **exit:**退出腳本,常帶一個整數給系統,如 exit 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章