delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/08/14/14:22:15

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <20010814181702.5353.qmail@nwcst31f.netaddress.usa.net>
Date: 14 Aug 2001 20:17:02 MET DST
From: <mxgl AT usa DOT net>
To: <sandman AT Interwoven DOT com>, <jason AT tishler DOT net>
Subject: Re: [Re: Another problem; Bash]
CC: Cygwin <cygwin AT sources DOT redhat DOT com>
X-Mailer: USANET web-mailer (34FM.0700.21.01)
Mime-Version: 1.0
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id OAA31822

Sandeep Tamhankar <sandman AT Interwoven DOT com> wrote:
> This is all true; but if you want to use /bin/sh (a.k.a. ash) and run 
> the script, change the 'let' line to the following:
> 
> i=`/usr/bin/expr $i + 1`
> 
> That way, it doesn't matter which shell you're running your script in.
> 
> -Sandeep
> 
> Jason Tishler wrote:
> 
> > In the future, please post to the Cygwin mailing list instead of sending
> > private email so others can benefit too.  This is especially true after
an
> > email such as the following:
> > 
> > On Fri, Jul 20, 2001 at 10:46:42PM +0200, mxgl AT usa DOT net wrote:
> > 
> >>Jason Tishler <Jason DOT Tishler AT dothill DOT com> wrote:
> >>
> >>>Please use Cygwin's setup.exe to install (all of) Cygwin.  Otherwise,
> >>>it is inappropriate to ask for help on the mailing list.
> >>>
> >>  You will probably allow me to use the above remark as a highly        
> >>instructive illustration of what I would call, to put it mildly, patent
> >>inawareness of argumentative circularity, if you do not, I will be no
less
> >>thankful for your quick and immediate help, with hindsight, of course, I
> >>should seriously have weighed alternative options first, before bothering
> >>You, ... it will never happen again ...
> >>
> > 
> > Hmm...
> > 
> > Anyway, on to your most recent problem.
> > 
> > On Fri, Aug 03, 2001 at 01:36:32PM +0200, mxgl AT usa DOT net wrote:
> > 
> >>I have run into another problem, I have been able to pinpoint it, but
cannot
> >>come up with a solution.
> >>
> >>When I write the line "let i=$i+1" into a scriptfile and try to execute
it, I
> >>get the message "let: Not found",
> >>
> > 
> > Does the script start with "#! /bin/sh"?  If so, then your problem is
> > that ash (i.e., /bin/sh under Cygwin) does not support "let".
> > 
> > 
> >>if I execute the same file as dotscript ". scriptfile", I get no error
> >>message,
> >>
> > 
> > The above works because bash is processing the script instead of ash
> > even if it contains the "#! /bin/sh" trigger line.
> > 
> > 
> >>it seems no RESERVED WORDS are recognized in scriptfile, if not run as
dot
> >>script,
> >>
> > 
> > Not true, other keywords such as "for" are recognized by ash -- just not
> > "let" (and possibly other bash keywords).
> > 
> > 
> >>Is this standard behaviour of bash under cygwin, or is it a problem.
> >>
> > 
> > This is standard Cygwin ash behavior and IMO, is not a problem.
> > 
> > Jason
> > 
> > 
> 
> 
> -- 
> ---------------------------------------------
> Sandeep V. Tamhankar			
> Member of Technical Staff		
> Tel: (408) 220-7505
> Fax: (408) 774-2002
> Email: sandman AT interwoven DOT com
> 
> Visit http://www.interwoven.com
> Moving Business to the Web	
> 

Many thanks for your immediate help, Jason and Sandeep,

I get the point, I did not use any COMMAND INTERPRETER LINE in my script,
assuming that this was only necessary, if I wanted it to be interpreted by AWK
or PERL, in any ohter case I expected it to executed by the DEFAULT $SHELL,
which is "bash".

So commands entered on the command line are always executed by $SHELL, scripts
however if not explicitly specified ohterwise are executed by ash, which on
the one hand creates less overhead, but as a consequence does not "understand"
every construct.

Executed as a dot script, the script is executed as if executed on the command
line and as consequence interpreted by bash.

Many thanks again, I really would not have able to solve this without your
help!

mxgl



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019