On Nov 22, 2007 6:23 PM, Oleg Goldshmidt <[EMAIL PROTECTED]> wrote: > "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 >
I use Ubuntu because thats what all my team uses. If I had the choice, I would go with Gentoo or Debian. As for the embedded system, my Ubuntu is just a host for compilation of embedded environment. We use snapgear, which is virtually stable version of uclinux.