"Kfir Lavi" <[EMAIL PROTECTED]> writes:

> Yep,
> The thing is that make uses /bin/sh and /bin/sh -> dash.
> Changing the link /bin/sh to point to bash solved the problem.

If you don't want to change your installation, put

SHELL=/bin/bash

at the top of your Makefile. This is probably a good idea for
portability if you don't trust the user's $SHELL to have all the
needed features.

Speaking of which, live and learn - I had no idea what dash was before
it was mentioned in this thread, so I read up for a few minutes (I
know of ash, I didn't realize they were related, nor did I know that
ash had a different echo(1)). I am not sure I am ready to consider
Debian's idea of keeping bash as the default interactive shell and
dash as "/bin/sh" (the default $SHELL) quite sane. i think it breaks
the "principle of least astonishment". Besides, Ubuntu is not exactly
intended for embedded use where the extra few dozen Kb or whatever or
whatever runtime savings you can get from builtin echo and test would
be important.

I wonder how much it screws up. I imagine there are quite a few
#!/bin/sh scripts and makefiles without explicit SHELL override and
what not that expect echo options, regular expressions, and other
stuff ash/dash does not provide. Yes, I realize that it is technically
careless. That's no excuse for keeping the default interactive shell
different from the default environment shell on a desktop system.

-- 
Oleg Goldshmidt | [EMAIL PROTECTED] | http://www.goldshmidt.org

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to