Configuration Information [Automatically generated, do not change]:
Machine: i386
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i386'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i386-redhat-linux-gnu'
-DCONF_VENDOR='redhat' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL
-DHAVE_CONFIG_H -I. -I. -I./include -I./lib -D_GNU_SOURCE
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables
uname output: Linux saturn.syslang.net 2.6.27.41-170.2.117.fc10.i686.PAE #1 SMP
Thu Dec 10 10:48:30 EST 2009 i686 athlon i386 GNU/Linux
Machine Type: i386-redhat-linux-gnu
Bash Version: 3.2
Patch Level: 39
Release Status: release
Description:
It may be me, but I tried something that I thought should work, but it
does not. I want to use the set command to parse data and I want the IFS
variable to be in force during the set command. This does not work. So far,
every other use of
var=val cmd
seems to work fine. Only this one plays funny.
Repeat-By:
IFS=':' set -- aa:bb:cc:dd
echo $1
# After this runs, $1 is aa:bb:cc:dd instead of aa
Instead, I have to say something like:
oldIFS="$IFS"
IFS=':'
set -- aa:bb:cc:dd
IFS="$oldIFS"
BTW, the same behavior happens in bash4.
Fix:
Offered in the constructive spirit to see if this needs to be fixed or
if this is a deliberate or known behavior.