while read line 與for迴圈的區別
while read line 與for迴圈的區別
while read line讀取file檔案裡的內容,是以一行一行的形式寫入到變數line中,並且是一次性將檔案資訊讀入並賦值給變數line;
for迴圈是每次讀取檔案中一個以空格為分割符的字元換。
如下舉例:
#!/bin/bash
IPS="1001
2001
3001
4001
5001
6001
7001
8001"
echo "###while read line###"
i=0
echo $IPS | while read line 【因為這裡echo $IPS 本身的值即為1001 2001 3001 4001 5001 6001 7001 8001;所以是被看做是一行】
do
i=$(($i+1))
echo $i
echo $line
done
echo "###for###"
n=0
for ip in $IPS;
do
n=$(($n+1))
echo $n
echo $ip
done
結果:可以看出while read line是一次性賦值給了line變數,for迴圈是每次以空格為分割符後的字串賦值
###while read line###
1
1001 2001 3001 4001 5001 6001 7001 8001
###for###
1
1001
2
2001
3
3001
4
4001
5
5001
6
6001
7
7001
8
8001
另:
file.txt內容為:
1001
2001
3001
4001
5001
6001
7001
8001
#!/bin/bash
while read line
do
echo $line
done < file.txt
結果:
1001
2001
3001
4001
5001
6001
7001
8001
解釋:
因為是一行一行的寫入到line變數中,故echo $line的結果也是一行一行的顯示
相關文章
- 【js迴圈語句】for與while的區別JSWhile
- 【Linux shell】while read lineLinuxWhile
- 探討兩種迴圈表示方法的區別,while迴圈與for迴圈的小總結While
- for 迴圈與 while 迴圈While
- 資料型別——集合與while迴圈資料型別While
- while迴圈以及do while迴圈While
- Python中for迴圈和while迴圈有什麼區別?Python入門教程PythonWhile
- while迴圈 case迴圈While
- 分別使用while迴圈、do…while迴圈和for迴圈輸出1~100之間的所有偶數While
- C語言——迴圈結構(for迴圈,while迴圈,do-while迴圈)C語言While
- shell指令碼while迴圈、read讀取控制檯輸入與函式指令碼While函式
- while迴圈While
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- while迴圈和do迴圈、緩衝區、一維陣列While陣列
- PHP For & While 迴圈PHPWhile
- python while迴圈PythonWhile
- Java 迴圈 - for, while 及 do…whileJavaWhile
- sass的迴圈for,while,eachWhile
- JavaScript中的while迴圈JavaScriptWhile
- 04流程控制 for迴圈,while迴圈While
- while迴圈補充While
- python-while迴圈PythonWhile
- Java迴圈結構-for,while及do…whileJavaWhile
- Java while和do while迴圈詳解JavaWhile
- C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用C#程式設計While
- 七 while迴圈語句While
- C語言程式設計學習中while迴圈和do……while迴圈C語言程式設計While
- Java 迴圈結構 - for, while 及 do...whileJavaWhile
- JS中幾種迴圈的區別與相同點JS
- C語言中迴圈語句while 中判斷條件出現 || 和 && 的區別C語言While
- python04: while迴圈語句 break continue for in 迴圈PythonWhile
- 15-python之while迴圈PythonWhile
- c#入門-while迴圈C#While
- ES6-----for迴圈中setimeout,var與let的區別
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- Kotlin中 until和..的區別(迴圈)Kotlin
- 當型迴圈和直到型迴圈有哪些區別
- C#練習,應用for,while,do-while迴圈C#While