This is the mail archive of the
mailing list for the Cygwin project.
Re: Possible bash incompatibility
- From: Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
- To: Arash Partow <arashp at hotmail dot com>
- Cc: cygwin at cygwin dot com
- Date: Mon, 18 Apr 2005 10:59:10 -0400 (EDT)
- Subject: Re: Possible bash incompatibility
- References: <BAY20-F859F5D44AF9EA3A9E691DD6290@phx.gbl>
- Reply-to: cygwin at cygwin dot com
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).
> 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";
> printf "Target platform is NOT Win32 via CYGWIN\n";
> error message:
> bash-2.05b$ ./test.sh
> ./test.sh: line 3: [: too many arguments
> Target platform is NOT Win32 via CYGWIN
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.
|\ _,,,---,,_ firstname.lastname@example.org
ZZZzz /,`.-'`' -. ;-;;,_ email@example.com
|,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: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html