我在Mac OS X上更改bash中$ IFS的值時遇到問題。例如,我有一個主目錄/XXX/XXX/XXX
,以及兩個子目錄subdir1
和subdir2
。如果我運行shell腳本
maindir=/XXX/XXX/XXX;
subdirs=$(find $maindir -type d -maxdepth 1);
echo $subdirs
通常我得到這樣
/XXX/XXX/XXX/subdir1 /XXX/XXX/XXX/subdir2
結果這兩個子目錄被Blankspace
分開。問題是,當我改變一旦$IFS
值是這樣的:
OLDIFS=$IFS;
IFS=$'\n';
IFS=OLDIFS;
之後,如果我們檢查的$subdirs
echo $subdirs
再次值結果成爲
/XXX/XXX/XXX/subdir1
/XXX/XXX/XXX/subdir2
它似乎bash自動將Blankspace
更改爲\n
。這真讓我困擾。是否有解決方案將\n
更改回Blankspace
?我的系統是Mac OS X版本10.7.5。
用'什麼;'行終止? – trojanfoe 2013-05-14 12:44:53
';'可以被刪除。 – 2013-05-14 12:48:17