Ubuntu 16.04 中 bash shell 的环境变量
一、bash shell 的分类
1、login shell 和 no-login shell
“登录 shell”代表用户登入,比如使用 ” su - ” 命令,或者用 ssh 连接到某一个服务器上。
“非登录 shell”的情况是我们在终端下直接输入 bash 或者 bash -c “cmd” 来启动的 shell。
2、interactive shell 和 non-interactive shell
interactive shell 是交互式 shell, 顾名思义就是用来和用户交互的, 提供了命令提示符可以输入命令。
non-interactive shell 是非交互式 shell,一般是通过 bash -c “cmd” 来执行的 shell。
二、bash shell 启动文件加载顺序
1、交互式登录shell 或者 带有 –login 的非交互式登录 shell
首先读取执行 /etc/profile 中的命令,会按依次查找 ~/.bash_profile ~/.bash_login ~/.profile,并执行找到的第一个文件中命令。当执行内置的 exit 命令时,bash 读取 ~/.bash_logout 。
2、交互式非登录shell
bash 读取执行 ~/.bashrc 中的命令。