pra*_*tri 8 login path environment-variables
我想知道 linux 操作系统给出的标准环境变量如 PATH、HOME 是如何自动设置的。这些是从哪个文件中读取的。当特定用户登录时,应该有一些文件从中设置这些变量。
小智 10
您的问题的答案可以在INVOCATION部分找到man bash。这是相关的摘录:
When bash is invoked as an interactive login shell, or as a non-inter-
active shell with the --login option, it first reads and executes com-
mands from the file /etc/profile, if that file exists. After reading
that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,
in that order, and reads and executes commands from the first one that
exists and is readable. The --noprofile option may be used when the
shell is started to inhibit this behavior.
When a login shell exits, bash reads and executes commands from the
file ~/.bash_logout, if it exists.
When an interactive shell that is not a login shell is started, bash
reads and executes commands from ~/.bashrc, if that file exists. This
may be inhibited by using the --norc option. The --rcfile file option
will force bash to read and execute commands from file instead of
~/.bashrc.
When bash is started non-interactively, to run a shell script, for
example, it looks for the variable BASH_ENV in the environment, expands
its value if it appears there, and uses the expanded value as the name
of a file to read and execute. Bash behaves as if the following com-
mand were executed:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
but the value of the PATH variable is not used to search for the file
name.
Run Code Online (Sandbox Code Playgroud)
手册页中还有更多内容,我建议您阅读它。
| 归档时间: |
|
| 查看次数: |
1977 次 |
| 最近记录: |