在shell腳本中,我試圖使用while回圈逐行讀取檔案,但所有行中的字符“n”都被空格替換。
這是 cat namespaces.tx 的輸出
cat namespaces.txt
default
kube-node-lease
kube-public
kube-system
name
mane
mann
這是從 while 回圈讀取時正在列印的輸出
while IFS=$'\n' read -r line; do echo $line; done < namespaces.txt
default
kube- ode-lease
kube-public
kube-system
ame
ma e
ma
uj5u.com熱心網友回復:
while IFS= read -r line; do
echo "$line"
done < namespaces.txt
這是一次讀取和列印一行的正確方法。"$line"被參考,并且IFS可以設定為空。
檢查IFS=\n腳本中的 或類似內容。在某處,您已設定IFS為包含n. 然后當你$line不帶引號列印時,它會被IFS( n)分成多個單詞,并且 echo 列印給它的每個單詞,中間有一個空格。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/353004.html
上一篇:帶有特殊字符的電子郵件被拒絕-RFC-6532和“quoted-printable”
下一篇:TSQL中的冪函式
