在 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。