Linux中Shell循環(huán)結(jié)構(gòu)for用法筆記

Shell中可以使用for做固定次數(shù)循環(huán)的處理。常見(jiàn)的for循環(huán)用法主要有以下幾種:

1、帶列表的for循環(huán)

語(yǔ)法結(jié)構(gòu):

for item in (list)

do

command

done

示例:

cat demo1.sh?

內(nèi)容如下:

#!/bin/bash

names="小明 小王 小張"

for item in names

do

echo "${item}"

done

執(zhí)行命令:bash demo1.sh

輸出結(jié)果:

小明

小王

小張

示例2 計(jì)算1到100的和

腳本1:

#!/bin/bash

sum=0

for item in {1..100}

do

let "sum+=item"

done

echo "總數(shù)為:${sum}"

腳本2:

#!/bin/bash

sum=0

for item in 'seq 1 100'

#for item in $(seq 1 100)

do

let "sum+=item"

done

echo "總數(shù)為:${sum}"

輸出結(jié)果:5050

示例3循環(huán)打印當(dāng)前目錄的文件信息

#!/bin/bash

for item in $(ls)

do

ls -l $item

done

2、不帶列表的for循環(huán)

for list

do

command

done

示例:

cat demo3.sh

#!/bin/bash

for item in $list

do

echo -n $item

done

執(zhí)行:bash demo3.sh 10 20 30 40

輸出結(jié)果:

10

20

30

40

3、類(lèi)C語(yǔ)言的for循環(huán)

語(yǔ)法結(jié)構(gòu):

for ((exp1;exp2;exp3;))

do

command

done

用法示例:

#!/bin/bash

for ((num=1;num<=10;num++))

do

echo -n "$num "

done

計(jì)算1到100的和以及1到100的奇數(shù)和

腳本內(nèi)容:

cat demo4.sh

#!/bin/bash

sum1=0

sum2=0

for((i=1,j=1;i<=100;i++,j+=2))

do

let "sum1+=i"

if [ $j -lt 100 ];then

let "sum2+=j"

fi

done

echo "sum1=$sum1"

echo "sum2=$sum2"

執(zhí)行:bash? demo4.sh

輸出:

sum1=5050

sum2=2500

注意:有時(shí)候使用for循環(huán)腳本不注意很有可能出現(xiàn)死循環(huán),它會(huì)無(wú)限執(zhí)行下去,會(huì)消耗大量的系統(tǒng)資源,所以

關(guān)于循環(huán)的腳本要多加測(cè)試,避免出現(xiàn)死循環(huán)的情況,如果執(zhí)行的時(shí)候出現(xiàn)死循環(huán)可以用ctrl+c停止腳本運(yùn)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容