shell script bug

Heribert Dahms heribert_dahms@icon-gmbh.de
Fri Jul 28 13:31:00 GMT 2000


Hi,
maybe ${1+"$@"} helps.
Famous example for Tcl/Tk wrapper under Unix:
#!/bin/sh
# the following comment is continued in Tcl, but not in sh
#\
exec tclsh "0ドル" ${1+"$@"}
puts "Tcl script begins here"
Bye, Heribert (heribert_dahms@icon-gmbh.de)
> -----Original Message-----
> From:	Bob McGowan [SMTP:rmcgowan@veritas.com]
> Sent:	Friday, July 28, 2000 19:26
> To:	cygwin@sources.redhat.com
> Cc:	cygwin@sourceware.cygnus.com
> Subject:	Re: shell script bug
>> 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@veritas.com
>> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /