Description of problem: When bash starts up as the user's default shell it executes /etc/profile and hence /etc/profile.d/*.sh. For non-login shells (say bash -c "echo FOO") /etc/profile and /etc/profile.d/*.sh are NOT executed. This is the expected behavior. Users that use tcsh as their default shell do not behave in the same way. The scripts /etc/profile.d/*.csh are executed for ALL shells. This is because the /etc/profile.d/*.csh files are sourced from /etc/csh.cshrc. They SHOULD be sourced from /etc/csh.login instead. This bug is present in all versions of RHEL and Fedora Core. To reproduce: 1. Create a file "test.csh" (755) in /etc/profile.d containing: --- #!/bin/tcsh echo "FOO" --- 2. Login as a user with tcsh as the default shell. You'll note that "FOO" appears on your display. 3. Execute a non-login tcsh shell by running: tcsh -c "echo BAR" The following appears on your screen: FOO BAR The expected result should be: BAR
FYI, this inconsistency affected us here recently -- a command was added to /etc/profile.d (aklog) which was appropriate for login shells, but not for non-login shells (which get spawned by 'less', for instance). As Jack suggested, /etc/profile.d/*.csh should get sourced from csh.login (or should be wrapped with an if ( ${?loginsh} ).
Suggesting for RHEL-4.8 with Devel ACK. Read ya, Phil
Still in RHEL-4.7 planing, so reflagging for RHEL-4.7 Read ya, Phil
This request was evaluated by Red Hat Product Management for inclusion, but this component is not scheduled to be updated in the current Red Hat Enterprise Linux release. If you would like this request to be reviewed for the next minor release, ask your support representative to set the next rhel-x.y flag to "?".
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2008-0130.html