1、for循環(huán)命令格式
1.1、格式一
for 變量 in 值1 值2 值3
do
程序
done
這種方法看起來好像很笨,因為需要把要循環(huán)的值寫入到for語句中。
此種方法不僅只支持明確的值,當我們不確定循環(huán)次數的時候,也可以使用此種方式。只要是要循環(huán)遍歷的值由空格、回車、tab鍵隔開的都可以算在內,所以使用這種格式for可以和cat,ls等命令結合使用。
1.1.1、打印輸出1 2 3 4 5
創(chuàng)建shell腳本fordemo1.sh,輸入內容如下:
#!/bin/bash
# 打印輸出1 2 3 4 5
for num in 1 2 3 4 5
do
echo $num
done
給腳本fordemo1.sh賦予執(zhí)行權限,執(zhí)行命令:
chmod 755 fordemo1.sh
腳本執(zhí)行結果,如下圖所示:
1.1.2、遍歷某目錄下面的所有的shell腳本并且將其壓縮
創(chuàng)建shell腳本fordemo2.sh,輸入內容如下:
#!/bin/bash
#遍歷某目錄下面的所有的shell腳本并且將其壓縮
cd /opt/shell
#獲取到所有的shell腳本文件,并且將結果輸出到lssh.log文件中
ls *.sh > lssh.log
for file in $(cat lssh.log)
do
tar -zcvf $file.tar.gz $file &>/dev/null
done
rm -rf /opt/shell/lssh/log
給腳本fordemo2.sh賦予執(zhí)行權限,執(zhí)行命令:
chmod 755 fordemo2.sh
命令執(zhí)行前查看/opt/shell目錄下面所有的文件,如下所示:
執(zhí)行fordemo2.sh腳本后,再次查看目錄下面所有的文件,如下所示:
1.2、格式二
for ((初始值;條件判斷式;變量變化))
do
程序
done
這種情況適用于知道循環(huán)次數。
1.2.1、計算1到100和并輸出
創(chuàng)建shell腳本文件cal1.sh,文件內容如下:
#!/bin/bash
#求1到100的和
sum=0
for (( i=1;i<=100;i=i+1 ))
do
sum=$(( $sum+$i ))
done
echo "求和結果:"$sum
給shell腳本cal1.sh賦予執(zhí)行權限后執(zhí)行,查看輸出結果。如下圖所示: