在 Shell Script 要讀入檔案內容,並一行一行地做處理,或者簡單一行一行印出內容,可以用 read 語法,具體做法是:
read_line.sh
|
1 2 3 4 5 |
#!/bin/bash READFILE=$1 while read line; do echo "$line" done < $READFILE |
上面的 Shell Script 會讀入指令模式輸入的檔案,沒有做任何資料處理,只簡單地逐行印出內容。
使用上,上面 shell script 名為 read_line.sh, 要先給予可執行權限,在指令模式是這樣做:
chmod +x read_line.sh
./read_line.sh /etc/passwd
./read_line.sh /etc/passwd
上面就會將 /etc/passwd 傳送給 read_line.sh, 而 read_line.sh 則讀取其內容並逐行印出。雖然這樣看起來沒什麼用處,因為用 cat /etc/passwd 的結果相同,但如果 shell script 內是要對資料做處理,例如將 uid 抽取做加減數等,這個功能就會變得有意義。