Linux-环境变量配置文件

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 - rootnewgrp mygroup,需要登录的用户(组)名,也需要用户(组)密码。

4.非登录式Shell:不需要用户名、密码登录就能进入的Shell,如shbash命令会直接开启一个新的Bash Shell命令窗口。

环境变量配置文件

根据全局/个人分类

全局配置文件

/etc/profile
/etc/profile.d/.sh*
/etc/bashrc

个人配置文件

/.bash_profile
/.bashrc

根据su - [username]/su [username]分类

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

posted @ 2020-04-02 09:38  拨云见日z  阅读(367)  评论(0编辑  收藏  举报