shell中的for和while迴圈詳細總結
這篇文章主要介紹了shell中的for和while迴圈詳細總結,本文講解了for迴圈的數字段形式、詳細列出、對檔案進行迴圈,while迴圈的三種使用場合等內容,需要的朋友可以參考下
一、for迴圈
1.數字段形式
複製**
**如下:
for i in do
echo $i
done
2.詳細列出(字元且項數不多)
複製**
**如下:
for file in 1 2 3 4 5
do echo $file
done
3.對存在的檔案進行迴圈
複製**
**如下:
for shname in `ls *.sh`
do name=`echo "$shname" | awk -f. ''`
echo $name
done
4.查詢迴圈(ls資料量太大的時候也可以用這種方法)
複製**
**如下:
for shname in `find . -type f -name "*.sh"`
do name=`echo "$shname" | awk -f/ ''`
echo $name
done
5.((語法迴圈--有點像c語法,但記得雙括號
複製**
**如下:
for((i=1;i<100;i++)) do
if((i%3==0))
then
echo $i
continue fi
done
6.seq形式 起始從1開始
複製**
**如下:
for i in `seq 100` do
if((i%3==0))
then
echo $i
continue fi
done
二、while迴圈
1.while迴圈注意為方括號,且注意空格
複製**
**如下:
min=1
max=100
while [ $min -le $max ] do
echo $min
min=`expr $min + 1`
done
2.雙括號形式,內部結構有點像c的語法,注意賦值:i=$(($i+1))
複製**
**如下:
i=1
while(($i<100)) do
if(($i%4==0))
then
echo $i fi
i=$(($i+1))
done
3.從配置檔案讀取,並可以控制程序數量
複製**
**如下:
max_run_num=8
cat cfg/res_card_partition.cfg |grep -v '^$'|grep -v "#" | grep -v grep |while read partition
do
nohup sh inv_res_card_process.sh $partition >log/rescard$partition.log 2>&1 &
while [ 1 -eq 1 ] do
psnum=`ps -ef | grep "inv_res_card_process" | grep -v "grep" | wc -l`
if [ $psnum -ge $max_run_num ]
then
sleep 5
else
break
fi
done
done
三.迴圈控制語句
複製**
**如下:
# break 命令不執行當前迴圈體內break下面的語句從當前迴圈退出.
# continue 命令是程式在本循體內忽略下面的語句,從迴圈頭開始執行
shell指令碼 迴圈的使用(for和while)
迴圈往往使用兩種,for迴圈和while迴圈。1 for迴圈 bin bash for迴圈的使用方式 方式一 for i in seq 10 do echo hello i done 方式二 for j in a b c d do echo world j done 方式三 for k 1 k 10...
Python入門筆記 迴圈for和while
while 迴圈 在給定的判斷條件為 true 時執行迴圈體,否則退出迴圈體。for 迴圈 重複執行語句 巢狀迴圈 你可以在while迴圈體中巢狀for迴圈 break 語句 在語句塊執行過程中終止迴圈,並且跳出整個迴圈 continue 語句 在語句塊執行過程中終止當前迴圈,跳出該次迴圈,執行下一...
shell中的 , 和 的使用
假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 可以用 分別替換得到不同的值 刪掉第乙個 及其左邊的字串 dir1 dir2 dir3 my.file.txt 刪掉最後乙個 及其左邊的字串 my.file.txt 刪掉第乙個 及其左邊的字串 file.txt...