On Fri, Oct 3, 2014 at 6:14 PM, Rahul Sundaram metherid@gmail.com wrote:
Hi
On Fri, Oct 3, 2014 at 9:04 AM, Garry T. Williams gtwilliams@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.