Help With 'for' Loop

Drew Tomlinson drew at mykitchentable.net
Fri Oct 14 13:14:48 PDT 2005


On 10/14/2005 1:05 PM Will Maier wrote:

>On Fri, Oct 14, 2005 at 12:33:07PM -0700, Drew Tomlinson wrote:
>[...]
>  
>
>>Yet 'echo $i' only returns "/multimedia/Pictures/1998", stopping
>>at the first space.  Is it possible to get 'i' to represent the
>>whole string that 'find' returns?  If so, how?
>>    
>>
>
>Bourne-style for loops use <space> as the delimiter by default. To
>change this behavior, modify the IFS variable (which is mentioned
>but not explained in the sh manpage):
>    
>    $ OLDIFS=$IFS	# probably want to remember this value
>    $ IFS=:
>    $ export $IFS
>    $ for i in $PATH; do
>	echo $i
>    done
>    /home/will/bin
>    /usr/local/sbin
>    /usr/local/bin
>    /usr/sbin
>    /usr/bin
>    /sbin
>    /bin
>    /usr/X11R6/bin
>    /opt/
>    /usr/games/
>    $ IFS=$OLDIFS	# set it back to normal
>    $ export $IFS	
>    $ for i in $PATH; do
>	echo $i
>    done
>    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/opt/:/usr/games/
>  
>

Thanks for this explanation.  I will look at the sh man page.

Cheers,

Drew

-- 
Visit The Alchemist's Warehouse
Magic Tricks, DVDs, Videos, Books, & More!

http://www.alchemistswarehouse.com



More information about the freebsd-questions mailing list