Now I understand !

David Selby cygwin@pusspaws.net
Wed Aug 6 08:52:00 GMT 2003


Igor Pechtchanski wrote:

>On Tue, 5 Aug 2003, David Selby wrote:
>
>  
>
>>Randall R Schulz wrote:
>>
>>    
>>
>>>David,
>>>
>>>At 12:28 2003-08-05, David Selby wrote:
>>>
>>>      
>>>
>>>>I have hit a problem with bash ... as a sample program I have ...
>>>>        
>>>>
>>>Your problem is that /bin/sh is ash, not BASH. To get BASH, use /bin/bash
>>>
>>>
>>>      
>>>
>>>>#!/bin/sh
>>>>
>>>>Dave
>>>>        
>>>>
>>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
>>    
>>
>
>Yes, because it's inherited from the parent shell environment, most
>likely (or you're running the above command from bash).  You do have bash
>installed, but as /bin/bash, *not* /bin/sh.
>
>  
>
>>I call cygwin with ...
>>c:\cygwin\win\rxvt.exe -e \bin\bash --login -i
>>ie bash
>>    
>>
>
>Yes, you explicitly invoke bash.
>
>  
>
>>Where did ash (a stripped down bash?) come in ?
>>Dave
>>    
>>
>
>When you have the #!/bin/sh line at the top of the script, you're asking
>the current shell (bash, tcsh, whatever) explicitly to execute the script
>using /bin/sh (which, on Cygwin, is ash).  If you want to ensure the
>script is executed by bash, use the #!/bin/bash magic at the top of the
>script.  Assuming that /bin/sh = bash is non-portable.
>	Igor
>

I have #!/bin/sh at the start of my script, so I am running bash as such 
but the shell script is asking to be interpreted by sh.

Just that in debian woody /bin/sh is linked to /bin/bash so there was no 
problem

Thanks for the explanation ...
Dave


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