tech-pkg: Re: bmake and bootstrap and own.mk and MKCONF

Subject: Re: bmake and bootstrap and own.mk and MKCONF
To: None <tech-pkg@netbsd.org>
From: Klaus Heinz <k.heinz.okt.fuenf@onlinehome.de>
List: tech-pkg
Date: 10/09/2005 12:15:04
Simon J. Gerraty wrote:
> set -x
> X=one:two:three
> echo got `IFS=:; echo $X`; echo 
> echo got `(IFS=:; echo $X)`; echo 
> x=`IFS=:; echo $X`
> echo got $x; echo
UnixWare 7.1.1 (which probably has more bugs than more recent versions)
/bin/ksh:
 $ set -x
 $ + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 X=one:two:three
 + X=one:two:three
 $ + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 echo got `IFS=:; echo $X`; echo
 + IFS=:
 + echo one two three
 + echo got 'one two three'
 got one two three
 + echo
 
 $ + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 echo got `(IFS=:; echo $X)`; echo
 + IFS=:
 + echo one two three
 + echo got 'one two three'
 got one two three
 + echo
 
 $ + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 x=`IFS=:; echo $X`
 + IFS=:
 + echo one two three
 + x='one two three'
 $ + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 + eval ''
 echo got $x; echo
 + echo got one two three
 got one two three
 + echo
 
 $ 
The results above seem to be ok to me. It looks like for-loops (or some
interaction between for-loops and sub-shells) is broken:
/bin/ksh:
 $ X=one:two:three
 $ for d in `IFS=:; echo $X`; do echo $d; done
 one two three
 $ for d in `(IFS=:; echo $X)`; do echo $d; done
 one two three
 $ x=`IFS=:; echo $X`
 $ for d in $x; do echo $d; done
 one
 two
 three
 $ 
ciao
 Klaus

AltStyle によって変換されたページ (->オリジナル) /