Shell的分类(四种)
在提及Linux环境变量配置文件
之前,需要先了解Shell的四种分类:
1.交互式Shell:交互式模式就是在终端上执行,Shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,Shell也终止了。
2.非交互式Shell:非交互式模式,以Shell Script(非交互)方式执行。在这种模式下,Shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,Shell也就终止了。
可以通过打印“$-”变量的值(代表着当前shell的选项标志),打印结果中,如果有i,则表示这是交互式Shell,其中的“i”选项(表示Interactive Shell)来区分交互式与非交互式Shell。
3.登陆式Shell:是需要用户名、密码登录后才能进入的Shell(或者通过--login”选项生成的shell),如
su - root
、newgrp mygroup
,需要登录的用户(组)名,也需要用户(组)密码。
4.非登录式Shell:不需要用户名、密码登录就能进入的Shell,如
sh
、bash
命令会直接开启一个新的Bash Shell命令窗口。
环境变量配置文件
根据全局/个人
分类
全局配置文件
/etc/profile
/etc/profile.d/.sh*
/etc/bashrc
个人配置文件
/.bash_profile
/.bashrc
根据su - [username]
与 su [username]
分类
su - [username]
加载的配置文件
会切换到家目录,加载的环境变量配置文件有5个。
/etc/profile
/etc/profile.d/.sh*
~/.bash_profile
~/.bashrc
/etc/bashrc
su [username]
加载的配置文件
不会切换到家目录,加载的环境变量配置文件有3个。
/etc/profile.d/.sh*
~/.bashrc
/etc/bashrc