Mail Archives: cygwin/2000/02/14/14:21:18
$ bash --version
GNU bash, version 2.03.0(2)-release (i686-pc-cygwin)
Copyright 1998 Free Software Foundation, Inc.
Following is the output of your test cases, using the above version of
bash. spaces1 uses the "for" loop and "$@", spaces2 uses the "while"
loop with "$1" and "shift":
$ spaces1 "a b c" "there are 2 tabs: :" "and a third arg"
a b c
there are 2 tabs: :
and a third
$ spaces2 "a b c" "there are 2 tabs: :" "and a third arg"
a b c
there are 2 tabs: :
and a third
I cut and pasted the above from my cygwin bash window. Note that the
tab characters _were_ there, they just didn't translate in the cut/paste
;-)
Bob
Dirk Fieldhouse wrote:
>
> I'm not sure that this is a specific CYGWIN issue, but I don't have access to a bash on a machine that allows spaces in filenames (surely the underscore character was invented to avoid these ...)
>
> In bash 2.01.1 (b20.1/W95B), the following sequences which should have identical behaviour do not:
>
> #!/bin/bash
> for arg in "$@" ; do
> echo "$arg" # splits "arg with spaces" into 3 args
> done
>
> #!/bin/bash
> while [ "$1" ] ; do
> echo "$1" # maintains "arg with spaces" as one argument
> shift
> done
>
> I haven't tested these against ash, nor with the latest bash release (2.03?), and I would be delighted to hear that this is a historical problem.
>
> I am sure that the second behaviour is correct, especially given the bash manual's description of $@.
>
> --
> Dirk Fieldhouse Logica UK Limited
> fieldhouse AT logica DOT com 75 Hampstead Road
> c=gb;a=attmail;p=logica; London NW1 2PL
> o=LOGICA;ou1=UK;s=fieldhouse UK
> +44 (20) 7637 9111
> - not speaking for Logica
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
--
Bob McGowan
Staff Software Quality Engineer
VERITAS Software
rmcgowan AT veritas DOT com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
- Raw text -