How do I export variables for all users in Linux?

I am using Red Hat. I need to export variables for all users (permanently). How would I go about doing that? I know there is a file for a single user where I can set permanent variables.


You can put the variable assignments in one of the shell startup scripts:

/etc/profile
/etc/bash_profile
/etc/bashrc

for bash and some other shells, depending on how your particular distro is configured. There are equivalents for most shells. There is also a file

/etc/environment 

which is not a script but contains enviroment variable assignments, and is loaded at login via pam_env.so. Obviously this works only on systems that use PAM for authentication (almost all Linux distros, but probably not Solaris).


Aside from /etc/profile, etc., adding a script into /etc/profile.d to achieve your feature is ideal because it works well with packagers which expect to be able to install and uninstall.