shell腳本中將 IFS (Internal Field Separator 內部字段分隔符)替換為換行符


將 IFS 中的空白符(換行、制表符、空格)修改為僅包含換行

IFS 是shell中的內部變量,在使用

for var in var_list;do
use $var do something
done

這樣的語句時,可以用 IFS 的值來分隔其中內容。有時候,var_list 中的內容有空格或制表符,但應當按行分割。這時,如果不修改IFS的值會影響后續操作。
我使用 IFS=`echo -e "\n"` 沒法修改,后來在看網上的資料時發現了一種非常巧妙的方法

IFS='
'

這樣就是一個完整的換行了。然后我受此啟發:上面的換行,實際上如果用代碼表示是 \n\r 我試了一下,果然就可以用了。

所以最后,可以讓IFS僅分割換行的方法是:

IFS='
'

IFS=`echo -e "\n\r"`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM