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

Change php variable from jquery value using ajax (same page) -

How can I fetch data from a web server in an android application? -

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