Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <38A8583D.FE08A609@veritas.com> Date: Mon, 14 Feb 2000 11:32:13 -0800 From: Bob McGowan Organization: VERITAS Software X-Mailer: Mozilla 4.7 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Dirk Fieldhouse CC: cygwin AT sourceware DOT cygnus DOT com Subject: Re: bash - $@ vs shift inconsistent References: <200002141431 DOT OAA14601 AT cav DOT logica DOT co DOT uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit $ 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