'for'迴圈是另個重要的流程控制。其格式如下:
for var in arg-list 
do               
    commands      
done             
var 是迴圈變數,每一圈執行時,會從 arg-list 中逐次取用一個代入迴圈變數中

例 for_example 執行結果
for i in xx yy zz 
do              
    echo $i       
done              
xx
yy
zz
Questions
  • What is the value of $i the first time through the loop?
  • What is the value of $i when the loop complete?
  •  
     
    將迴圈的輸出轉向到檔案
    功能
    利用迴圈合併數個檔案,各檔案之間以分隔線及檔名隔開,存到 outfile
    用法
    concatgefile file-list
    Script XX
    #-------------------------------------
    # Script: concatefile v1
    #------------------------------------- 
    for i in $*
    do
    echo "====== FILE NAME: $i  ========"
    cat -n $i   # -n 這個 option 會將讀入的資料加上 line number 
    done > outfile
    
     
       
    這樣的一個小script,就可以遠遠超過視窗系統的效率,節省很多時間。

    假設一個使用者利用C 語言在開發一個複雜的程式,而原始檔分散在數十甚至 上百個小檔案中,在開發過程中經常要反覆的檢查各原始碼,單純依靠終端機 是很痛苦的事,此時就可以利用 concatefile 這個script 將所有原始檔加上 line number 集中到一個檔案中,再印出來,方便 檢視。如果環境許可,甚至可貼在牆上那就更方便了。

    Web Page Copyright: 亞洲大學資訊電機學院 連耀南 yaonanlien@asia.edu.tw  forin.htm,  Thu Sep 7 16:18:54 CST 2023