On 04/16/2015 09:09 PM, E.B. wrote:
Don't use bash, of course!
Hmm well I didn't not know about this. On CentOS--

lrwxrwxrwx. 1 root root 4 Apr  5 10:31 /bin/sh -> bash*

Can you state the reasons you say do not use bash so I can google about
them?

Some random links..

https://wiki.ubuntu.com/DashAsBinSh
https://lwn.net/Articles/343924/
http://www.cyberciti.biz/faq/debian-ubuntu-linux-binbash-vs-bindash-vs-binshshell/

My summary:

I use Debian.
dash is actually a Debian-specific creation. The problem with bash is that it's feature-rich and therefore slow to start and slow to execute. For non-interactive scripts, things like tab-completion or command history are not needed of course. Less-than-bash shells however also do not support more advanced bash syntax.

http://mywiki.wooledge.org/Bashism

/usr/bin/mysql is of course 3 times bigger than /bin/bash and for that matter is also guilty of being unnecessarily friendly to interactive users (via libreadline) ;-)

So I did a very crude test and putting a 'echo select 1 | mysql' in a #!/bin/bash script is only ~20% slower than using #!/bin/sh (which is dash in my case). Oh and it looks like mysql -e blah is a bit faster under bash, but not under dash.

I guess the differences are more meaningful when we're talking about more than (hardly even) one line of shell code.

Reply via email to