This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: shell script bug


When I said "machines" I should have said "different UNIX systems".

cgf

On Fri, Jul 28, 2000 at 10:25:44AM -0700, Bob McGowan wrote:
>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.

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]