一、shell的启动方式
根据shell的启动方式不同,分为登录shell、交互shell和非交互shell,不同方式启动的shell初始化过程是不同的。
1.登录shell(login shell)
当我们输入用户名和密码登录到系统后,所呈现给我们的就是一个登录shell。更确切的说,如果启动bash对话的命令行第0个参数的首字符是"-"的话,那么这是一个登录shell;
可以通过如果命令看到
$> ps -f
还有一种是带有"--login"选项启动的bash对话是一个登录shell。
$> bash --login
2.交互shell(interactive shell)
带有"-i"选项启动的bash对话是一个交互shell。如:
$> bash -i
或者以非选项参数开始,并且不包含"-c"选项启动的bash对话,且它的标准输入和标准出错都是连接到终端的,那么这也是一个交互shell。
$> bash
3.非交互shell
用于启行一个脚本的shell是非交互shell
$> bash my.sh
二、登录shell的初始化文件
/etc/profile;
~/.bash_profile、~/.bash_login和~/.profile三个最先找到的那个;
~/.bash_logout,shell退出时执行。
三、交互shell的初始化
/etc/bash.bashrc
~/.bashrc
四、非交互shell的初始化
环境变量"BASH_ENV"代表的文件。
阅读(2496) | 评论(0) | 转发(0) |