当我们登录系统后,启动 bash 程序,并且会读取一系列称为启动文件的配置脚本, 这些文件定义了默认的可供所有用户共享的 shell 环境。然后是读取更多位于我们自己家目录中的启动文件,这些启动文件定义了用户个人的 shell 环境。精确的启动顺序依赖于要运行的 shell 会话类型。
有两种 shell 会话类型:一个是登录 shell 会话,另一个是非登录 shell 会话。
登录 shell 会话会提示用户输入用户名和密码,比如:Ubuntu的ctrl+art+F1-6
当我们在 GUI 模式下 运行终端会话时,非登录 shell 会话会出现。
登陆shell会话的启动文件
非登录 shell 会话会读取以下启动文件
PS: 除了读取以上启动文件之外,非登录 shell 会话也会继承它们父进程的环境设置,通常是一个登录 shell。
当我们输入命令时,shell从PATH变量中的目录列表来查找
PATH 变量经常(但不总是,依赖于发行版)在 /etc/profile 启动文件中设置
PATH=$PATH:$HOME/bin
意味着当我们想要在自己的家目录下, 创建一个目录来存储我们自己的私人程序时,shell 已经给我们准备好了,我们所要做的事就是 把创建的目录叫做 bin。
修改shell环境一般通过修改~/.bashrc文件。例如在.bashrc文件的末尾添加如下命令
# Change umask to make directory sharing easier
umask 0002
# Ignore duplicates in command history and increase
# history size to 1000 lines
export HISTCONTROL=ignoredups
export HISTSIZE=1000
# Add some helpful aliases
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
保存后,在命令行输入
source .bachrc
来强迫 bash 重新读取修改过的 .bashrc 文件。
- 环境变量