Linux中Shell循环结构for用法笔记
Shell中可以使用for做固定次數(shù)循環(huán)的處理。常見的for循環(huán)用法主要有以下幾種:
1、帶列表的for循環(huán)
語法結(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 計算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、類C語言的for循環(huán)
語法結(jié)構(gòu):
for ((exp1;exp2;exp3;))
do
command
done
用法示例:
#!/bin/bash
for ((num=1;num<=10;num++))
do
echo -n "$num "
done
計算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
注意:有時候使用for循環(huán)腳本不注意很有可能出現(xiàn)死循環(huán),它會無限執(zhí)行下去,會消耗大量的系統(tǒng)資源,所以
關(guān)于循環(huán)的腳本要多加測試,避免出現(xiàn)死循環(huán)的情況,如果執(zhí)行的時候出現(xiàn)死循環(huán)可以用ctrl+c停止腳本運行。
總結(jié)
以上是生活随笔為你收集整理的Linux中Shell循环结构for用法笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用EditPlus3编写汇编语言
- 下一篇: Linux有关Shell中if用法笔记