This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Now I understand !


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]