Package: bash Version: 3.0-14 Severity: normal Either bash's read builtin is buggy, or I'm missing something about how it's supposed to work. I thought I could tokenize a string by doing foo="bar baz" echo "$foo" | read a b but after running that, a isn't even defined, let alone set the way I was expecting. seq 10 | while read i;do echo $i foo;done prints the expected 1 foo, ..., 10 foo seq 10 | read i doesn't set i, though.
read only seems to work when it's reading from a file (or the terminal, probably) $ echo value > foo $ read i < foo $ echo $i value BTW, I see the same behaviour on a machine running pure i386 Sarge, with GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu) For comparison, ksh running on Solaris does: $ echo foo | read i; echo $i foo sash, ash and dash don't set i when I do echo foo | read i. Neither does sh on Solaris; I guess read is a ksh feature? -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.9-1-k7 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages bash depends on: ii base-files 3.1.2 Debian base system miscellaneous f ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libncurses5 5.4-4 Shared libraries for terminal hand ii passwd 1:4.0.3-30.9 change and administer password and -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

