On 4/30/15 2:37 PM, Trammell Hudson wrote: > Bash Version: 4.3 > Patch Level: 30 > Release Status: release > > Description: > User and system profile files are executed even despite the --noprofile > or --norc flag to bash since execute_env_file() does not check the > no_profile global variable. > > Repeat-By: > PS1="NONE" ./bash --noprofile -c 'echo $PS1' > > Should output NONE, but instead outputs whatever /etc/profile sets it to. > > > Fix: > --- /tmp/bash-4.3.30/shell.c 2014-01-14 13:04:32.000000000 +0000 > +++ ./build/bash-4.3.30/shell.c 2015-04-30 18:25:42.282810228 +0000 > @@ -1010,7 +1010,7 @@ > { > char *fn; > > - if (env_file && *env_file) > + if (no_profile == 0 && env_file && *env_file) > { > fn = expand_string_unsplit_to_string (env_file, Q_DOUBLE_QUOTES); > if (fn && *fn)
That function is only executed if you have BASH_ENV or ENV set, and neither of those should be subject to the setting of --noprofile. I suspect you have BASH_ENV=/etc/profile in your environment since you're invoking bash as `bash'. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/