shell 指令碼讀取檔案內容並輸出--問題總結(編碼問題)
阿新 • • 發佈:2019-01-29
shell 指令碼讀取檔案內容並輸出--問題總結:
shell指令碼讀取檔案主要介紹三種方式:
第一種:
#/bin/bash
while read line
do
echo $line
done < a.txt
執行輸出:(sh的許可權還沒給,請勿介意)
第二種:
#/bin/bash
cat a.txt | while read line
do
echo $line
done
這兩種測試過都用很方便的。(第三種在本地進行介紹)
問題記錄:
一開始直接從本地建立test.sh 檔案,丟到伺服器上去測試,不管怎麼改一直報語法錯誤,檢查了大半天確實沒語法錯誤。後面才發現是編碼問題,從本地建立檔案丟到伺服器上,檔案的格式多半為windows的格式 所以,切勿直接把指令碼從本地建立copy到伺服器上去,會出現編碼格式問題。直接在伺服器上通過 vi test.sh 建立檔案編輯即可。
另外,如果想在本地執行指令碼測試,可下載一個Cygwin64 Terminal工具模擬linux環境。
用文字編輯shell指令碼的時候,一定要先把格式改過來,我用的是Notepad++
第三種(在本地進行介紹):
Cygwin64 Terminal 測試效果: