This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: Possible bash incompatibility

On Mon, 18 Apr 2005, Arash Partow wrote:

> Hi all,
> Could someone tell me why the piece of bash script below is being
> rejected as being erroneous on cygwin but works fine on other bash's
> ie: linux and openbsd?

I would imagine because the output of "uname -s" doesn't contain "CYGWIN"
on either Linux or OpenBSD, so "grep -c" outputs a 0.  But even on Cygwin
this works (as Brian already confirmed).

> my current version of bash is update (2.05b).
> #!/bin/bash
> if [ `uname -s | grep -c 'CYGWIN'` -eq "1" ]; then

FWIW, a better test would be

if uname -s | grep -q 'CYGWIN'; then ...

> printf "Target platform is Win32 via CYGWIN\n";
> else
> printf "Target platform is NOT Win32 via CYGWIN\n";
> fi
> error message:
> bash-2.05b$ ./
> ./ line 3: [: too many arguments
> Target platform is NOT Win32 via CYGWIN
> bash-2.05b$

You could try "set -x" to see the actual command that is executed...  It
could be due to some stderr output from either uname or grep.
In any case, other than the output of "uname" containing CYGWIN (i.e.,
changes in data), none of the above is Cygwin-specific.
      |\      _,,,---,,_
ZZZzz /,`.-'`'    -.  ;-;;,_
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT

Unsubscribe info:
Problem reports:

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