Shell 配置文件的加载
Shell 加载配置文件
目录
Shell 启动方式
启动方式
Shell 的启动方式有以下四种:
- 交互式登录
- 非交互式登录
- 交互式非登录
- 非交互式非登录
其中交互式是指需要使用者手动输入的方式,而非交互式指的是脚本方式运行,不需要使用者手动输入。登录指的是使用者需要输入用户名和密码的方式,需要特定用户才能执行,而非登录不需要输入用户名和密码,任何用户都能执行。
比如:GNOME Terminal 默认是交互式非登录 Shell,iTerm2 Terminal 默认是交互式登录 Shell,ssh 连接也是交互式非登录 Shell,在终端上运行一般脚本是非交互式非登录 Shell,ssh 连接直接执行命令是非交互式登陆 Shell 等。
区分方式
- 交互式区分方式
- 根据
$-变量区分,含有i(interactive) 为交互式Shell。
echo "$-"
himBHs- 根据
$PS1变量区分,不为空的是交互式Shell。
echo "$PS1"
[\u@\h \W]\$- 指定
-c选项运行非交互式Shell,指定-i选项运行交互式Shell。
- 登录式区分方式
- 根据
$0变量区分,带-为登录Shell。
echo "$0"
-bash- 根据
shopt login_shell,Bash独有。
login_shell on- 执行
logout命令,只有登录Shell才能运行这条命令
logout
bash: logout: not login shell: use `exit'- 指定
-l或者--login选项运行登陆Shell。
Shell 配置文件的加载顺序
Bash

Zsh

Ash
