Linux中while循環的用法筆記


640?wx_fmt=png

Shell中可以采用while循環來實現需要進行循環的操作。

語法結構如下:

while exp

do

command

done

執行過程:while將測試exp的返回值,如果返回值為true則執行循環體的命令,返回值為false則不執行循環。循環完成后會進入下一次循環之前將再次測試。

如果已知循環次數,可以用計數的方式控制循環,在達到規定的循環次數后退出循環。

示例:

#同時計算1到100和以及1到100的奇數和

#腳本內容如下:

sum1=0

sum2=0

i=1

j=1

while [[ "$i" -le "100" ]]

do

let "sum1+=i"

let "j=i%2"

if [[ $j -ne 0 ]];then

let "sum\+=i"

fi

done

echo "$sum1"

echo "$sum2"

輸出結果:

5050

2500

示例2使用while命令按行讀取文件(實用)

cat data.txt

內容如下:

小明 30

小張 25

小麗 28

#腳本內容如下:

#!/bin/bash

while read Line

do

Name=`echo $Line' | awk '{print $1}'`

Sex=`echo $Line' | awk '{print $2}'`

Age=`echo $Line' | awk '{print $3}'`

echo "我的名字是 $Name ,性別 $Sex 年齡 $Age "

done < data.txt

或者

#!/bin/bash

cat data.txt | while read Line

do

Name=`echo $Line' | awk '{print $1}'`

Sex=`echo $Line' | awk '{print $2}'`

Age=`echo $Line' | awk '{print $3}'`

echo "我的名字是 $Name ,性別 $Sex 年齡 $Age "

done

輸出結果:

我的名字是小明,性別男,年齡30

我的名字是小張,性別男,年齡25

我的名字是小麗,性別女,年齡28



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM