Linux_UBUNTU_EnvironmentVariables
/etc/environment /etc/profile ~/.profile /etc/bash.bashrc ~/.bash /etc/motd ~/.pam_environment
Script
/etc/bash.bahrc # for all users
~/.bash # for individual user
~/bash_profile
Shell config files such as ~/.bashrc, ~/.bash_profile, and ~/.bash_login are often suggested for setting environment variables. While this may work on Bash shells for programs started from the shell, variables set in those files are not available by default to programs started from the graphical environment in a desktop session.
Configuration File:
/etc/environment #This file is specifically meant for system-wide environment variable settings. It is not a script file, but rather consists of assignment expressions, one per line.
~/.pam_environment #This file is specifically meant for setting a user's environment. It is not a script file, but rather consists of assignment expressions, one per line.
Enivronment Variable
https://help.ubuntu.com/community/EnvironmentVariables#Manipulating_environment_variables_and_values
Difference between bash.bashrc and /etc/environment file
https://askubuntu.com/questions/150789/difference-between-bash-bashrc-and-etc-environment-file
Difference between /etc/environment and .profile
https://askubuntu.com/questions/866161/setting-path-variable-in-etc-environment-vs-profile?noredirect=1
sequence of scripts sourced upon login
https://askubuntu.com/questions/463462/sequence-of-scripts-sourced-upon-login
You seem to be logging in via ssh which means you're running an interactive login shell, see above for what that means. So, in summary, the things you care about that are sourced when you log in are (and in this order):
- The SSH daemon, via the
pam_motdmodule of the PAM library, displays the contents of/etc/motd. Via thepam_envmodule, it sets the environment variables from/etc/environmentand~/.pam_environment. - A login shell is started, and the following files are read in order:
/etc/profile/etc/bash.bashrc(the default Ubuntu/etc/profilesources/etc/bash.bashrc).~/.bash_profile. The other files that could have been read here (~/.profileand~/.bash_login) are ignored because~/.bash_profileexists.

浙公网安备 33010602011771号