Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Message-ID: <425CB62C.FAF6F5B6@dessent.net>
Date: Tue, 12 Apr 2005 23:03:24 -0700
From: Brian Dessent <brian@dessent.net>
Organization: My own little world...
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: Variable not set correctly in bash
References: <86B406A17C3F684CB66499B87361FB3802D8FD@mail.dieball.net>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Reply-To: cygwin@cygwin.com

Andre Dieball wrote:

>                 NEW=$[ $OLD + 1 ]

That construct is a bash extension that is not part of the regular
bourne shell capability.  On linux, /bin/sh is bash, so it works.  On
Cygwin, /bin/sh is ash which is a more basic bourne shell that does not
have all the extra extensions that bash has.  In other words, by doing
that you're limiting your script to only work on bash.  You can either
change the shebang to explicitly call bash, or use a more portable
construct, such as

NEW=`expr $OLD + 1`

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

