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 |