Dash as default shell
Nico Kadel-Garcia
nkadel at gmail.com
Fri Oct 3 22:59:37 UTC 2014
On Fri, Oct 3, 2014 at 6:14 PM, Rahul Sundaram <metherid at gmail.com> wrote:
> Hi
>
> On Fri, Oct 3, 2014 at 9:04 AM, Garry T. Williams <gtwilliams at gmail.com>
> wrote:
>>
>>
>> $ (checkbashisms -f -p $(grep -rlE '^#! ?/bin/(env )?sh' /usr/bin) )
>> 2>&1 >/dev/null|grep 'possible bashism'|awk '{print $4}'|sort -u|wc -l
>> 113
>> $
>>
>> Many of these trigger multiple warnings from checkbashisms. The total
>> here was 717. (Fedora 20, KDE.)
>
>
> Those numbers are fairly misleading if you look a bit closer. Each
> individual script has to be run through dash to confirm that it isn't a
> false warning. If it truly uses bash specific syntax, then there is a bug
> in the script and it should be changed to use !/usr/bin/bash (quicker) as
> opposed to !/bin/bash or fixed to remove bash specific syntax (more
> portable). Regardless of whether we are switching the default system shell,
> any shell script that uses bash syntax should be fixed to use
> !/usr/bin/bash. A lot of this work has already been done by Debian/Ubuntu.
And it's going to break backports to EPEL for RHEL 5 or RHEL 6, or
CentOS or Scientific Linux, pretty seriously. It's unnecessary,
confusing, and non-backwards-compatible: I wouldn't suggest this until
well after RHEL 7 or later becomes the majority of EPEL traffic, just
out of courtesy to the paying customers who fund Fedora developers.
More information about the devel
mailing list