osx - When change $IFS in bash on Mac OS X -


i met problem when change value of $ifs in bash on mac os x. example, have main directory /xxx/xxx/xxx, , 2 sub-directories subdir1 , subdir2. if run shell script

maindir=/xxx/xxx/xxx; subdirs=$(find $maindir -type d -maxdepth 1); echo $subdirs 

normally results this

/xxx/xxx/xxx/subdir1 /xxx/xxx/xxx/subdir2 

these 2 subdirectories separated blankspace. problem is, when change once $ifs value this:

oldifs=$ifs;  ifs=$'\n'; ifs=oldifs; 

after that, if check again value of $subdirs

echo $subdirs 

the results become

/xxx/xxx/xxx/subdir1 /xxx/xxx/xxx/subdir2 

it seems bash automatically changes blankspace \n. bothers me. there solution change \n blankspace? system mac os x version 10.7.5.

you didn't reset ifs (or set oldifs in first place):

oldifs="$ifs" ifs=$'\n' ... ifs="$oldifs" 

(this fails restore ifs unset state if unset prior saving "value", that's not worth going here.)


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -