內部字段分隔符(Internal Field Separator)是shell腳本編程中的一個重要概念。在處理文本數據時,有很大的作用。內部字段分隔符是用于特定用途的定界符,IFS是存儲定界符的環境變量,它是當前shell環境中使用的默認定界符字符串。
例一:data="name,sex,rollo,location"
我們可以使用IFS讀取變量中的每一個條目
輸出如下
IFS的默認值為空白符(換行符,制表符或者空格)
當IFS被設置為逗號時,shell將逗號視為一個定界符,因此變量$Item在每次迭代中讀取由逗號分隔的子串作為變量值。如果沒有把IFS設置為逗號,那么上面的腳本會將全部數據作為單個字符串打印出來。
例二:以/etc/passwd為例,利用IFS的用法,取出每一位用戶使用的shell類型,腳本如下
運行腳本顯示的結果就是/etc/passwd中每位用戶的shell類型,運行結果如下,顯示部分截圖
對一系列值進行迭代時,循環非常有用
部分內容摘自《Linux shell 腳本攻略》
原創文章,作者:black_fish,如若轉載,請注明出處:http://www.www58058.com/35746