Beware of bash 3.1

Chris Adams cmadams at hiwaay.net
Sun Apr 30 02:14:34 UTC 2006


Once upon a time, Callum Lerwick <seg at haxxed.com> said:
> Step 9, which looks like this:
> 
> cat <<EOF > /etc/profile.d/java.sh
> export JAVA_HOME=/opt/jre1.5.0_06
> export PATH=$JAVA_HOME/bin:$PATH
> EOF
> 
> Results in this:
> 
> # cat /etc/profile.d/java.sh
> export JAVA_HOME=/opt/jre1.5.0_06
> export PATH=/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
<snip>
> So... bash 3.1 has definitely changed the way variable expansion is
> done, namely it expands things it didn't used to expand. Bug or feature?
> Either way, beware.

Nope, nope, and nope.  base 3.1 hasn't changed that, it isn't a bug, nor
a "feature".  It is the standard documented behavior and I believe the
behavior all the way back to the beginning of the Bourne shell.

The only bug is in poor (and apparently untested) instructions.
-- 
Chris Adams <cmadams at hiwaay.net>
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.




More information about the fedora-devel-list mailing list