Not sure what OS's you're checking, but this is definitely not true. On RHEL, for example, /etc/profile.d/*.sh are sourced by at least /bin/sh, /bin/bash, and /bin/ksh and /etc/profile.d/*.csh are sourced by /bin/tcsh and /bin/csh. In practice, this generally just means: 1) you can just provide equivalent *.csh scripts to get equivalent behavior in those shells 2) you should restrict your syntax in *.sh scripts to the common subset of the standard shells - e.g. don't use 'typeset' (understood only by KSH) or 'declare' (understood only by BASH).
--Robert Only bash cares about what's in profile.d. Also a number of different frameworks already do this for various reasons. It seems perfectly reasonable for us to do this upon installation.
GC
|