In the last episode (Jun 05), Tim Daneliuk said: > Given this script: > #!/bin/sh > > foo="" > while read line > do > foo="$foo -e" > done > echo $foo > > Say I respond 3 times, I'd expect to see: > > -e -e -e > > Instead, I get: > > -e -e > > Linux appears to do the right thing here, so this seems like it > is a bug ... or am I missing something?
echo takes a -e flag, so it eats the first one. Bash does the same thing, so any Linux that uses bash as /bin/sh will also. You must be testing on a Linux that uses something else as /bin/sh. Better to use the printf command if you are worried about compatibility. echo [-e | -n] [string ...] Print a space-separated list of the arguments to the standard output and append a newline character. -n Suppress the output of the trailing newline. -e Process C-style backslash escape sequences. The echo command understands the following character escapes: -- Dan Nelson dnel...@allantgroup.com _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"