Yes but I don't understand ...

Randall R Schulz rschulz@sonic.net
Tue Aug 5 20:42:00 GMT 2003


David,

At 13:14 2003-08-05, David Selby wrote:

>You are dead right, I tried
>
>/bin/bash <script>
>
>and it worked perfectly, but I am afraid I do not understand why ...
>echo $BASH_VERSION
>Tells me I have bash
>
>I call cygwin with ...
>c:\cygwin\win\rxvt.exe -e \bin\bash --login -i
>ie bash
>
>Where did ash (a stripped down bash?) come in ?

As I understand it, it all goes back to the big bang...


I don't understand the question. Cygwin has for a long time used ash as 
it's /bin/sh. Ash is a POSIX compliant shell and is much lighter-weight 
than BASH. For purposes such as interpreting commands issuing from 
makefiles, it's faster start-up time makes it a better choice.

You script assumed BASH--that is, it used BASH-specific features. Thus 
it should explicitly invoke bash in its #! line. The fact that most 
Linuxes use BASH as their /bin/sh probably falsely led you to believe 
that BASH was _the_ shell in POSIX-compliant systems. That's not true. 
In fact, for a long time, even /bin/bash was a version 1.2 BASH, and 
that was a far cry from what we now know as BASH.


>Dave


Randall Schulz


--
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/



More information about the Cygwin mailing list