| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
| List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
| Sender: | cygwin-owner AT sources DOT redhat DOT com |
| Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
| Message-ID: | <3981C218.F7E5348A@veritas.com> |
| Date: | Fri, 28 Jul 2000 10:25:44 -0700 |
| From: | Bob McGowan <rmcgowan AT veritas DOT com> |
| Organization: | VERITAS Software |
| X-Mailer: | Mozilla 4.73 [en] (WinNT; U) |
| X-Accept-Language: | en |
| MIME-Version: | 1.0 |
| To: | cygwin AT sources DOT redhat DOT com |
| CC: | cygwin AT Sourceware DOT Cygnus DOT Com |
| Subject: | Re: shell script bug |
| References: | <20000728163013 DOT 15552 DOT qmail AT web1306 DOT mail DOT yahoo DOT com> <20000728125749 DOT A5152 AT cygnus DOT com> |
Interesting. I just tried a different script to check the "$@" versus
"$*" processing and did not see any problems with or differences in how
the 3 shells handle them. I'm running these by invoking the desired
shell at the prompt:
$ shell ./script
My script:
###
# "$@" with no args should be "empty"
checkat()
{
echo $#
}
checkasterix()
{
echo $#
}
checkat "$@" # "empty"
checkasterix "$*" # null string
###
The output is consistently:
0
1
when I invoke the script with no arguments.
Chris Faylor wrote:
>
> On Fri, Jul 28, 2000 at 09:30:13AM -0700, Noel Yap wrote:
> >I have the following script asdf.sh:
> >#!/bin/sh
> >
> >if [ $# = 1 ]
> >then
> > for v in "$@"
> > do
> > echo $# should be 1
> > echo "$v"
> > done
> >else
> > for v in "$@"
> > do
> > echo $# isn\'t be 1
> > ./asdf.sh "$v"
> > done
> >fi
> >
> >Under bash, the output of the script is:
> >5 isn't 1
> >5 isn't 1
> >5 isn't 1
> >5 isn't 1
> >5 isn't 1
> >
> >Under sh, there is no output.
>
> ...which is what I'd expect.
>
> I tried this on a couple of machines and the behavior is inconsistent.
> Some print "0 isn't be 1" (sic) and some print nothing.
>
> I would consider the triggering of the for-loop when there are no
> arguments supplied to the shell script to be a bug.
--
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
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |