Subject: Re: bash - $@ vs shift inconsistent
From: Bob McGowan <[email-masked]>
To: Dirk Fieldhouse <[email-masked]>
Cc: [email-masked]
Date: Mon, 14 Feb 2000 11:32:13 -0800

$ 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
> [email-masked]           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 [email-masked]

-- 
Bob McGowan
Staff Software Quality Engineer
VERITAS Software
[email-masked]

--
Want to unsubscribe from this list?
Send a message to [email-masked]