3 ms·
Not necessarily, imagine for example an embedded OS with only dash or busybox based on Debian. Also, even with bash installed, bash doesn't always behave like
by kakwa_ 8y ago
Not necessarily, imagine for example an embedded OS with only dash or busybox based on Debian.
Also, even with bash installed, bash doesn't always behave like sh does.
A common example is echo:
With /bin/sh on an OpenBSD:
>>>
kakwa@openbsd ~ sh -c 'echo "print\n"'
print
<new line>
>>>
With /bin/dash (aka /bin/sh on Debian)
>>>
kakwa@debian dash -c 'echo "print\n"'
print
<new line>
>>>
This is consistent so far.
But, now, with /bin/bash
>>>
kakwa@debian ~ » bash -c 'echo "print\n"'
print\n
>>>
That's why I tend to use printf more than echo in my shell scripts.
Also, I'm not a big fan of what RHEL/CentOS/Fedora does symlinking /bin/sh and /bin/bash.
It blurs the line between bash and sh, which results a lot of scripts with a /bin/sh shebang containing bashism.