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