Linux 登陆shell,交互shell以及环境变量读取顺序
来源:互联网 发布:阿里云备案拍照怎么拍 编辑:程序博客网 时间:2024/05/17 23:42
http://blog.csdn.net/leshami/article/details/77198412
Linux用户在登陆到Linux服务器时,一些登陆的提示欢迎信息,以及特定的环境配置等等都按预先设定好的配置来生效。Linux中的这个shell环境会读取很多不同的配置文件来达成上述目的,同时还有登陆shell与非登陆shell的区分。本文对此作简要描述,供大家参考!
一、登陆shell与非登陆shell
登陆shell(login shell):
取得 bash 时需要完整的登陆流程的,就称为 login shell
比如通过ssh方式连接,或者由tty1 ~ tty6 登陆,需要输入用户的账号与密码,此时取得的 bash 就称为login shell
非登陆shell(non-login shell):
取得 bash 接口的方法不需要重复登陆的举动
比如你以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时该终端接口无需输入账号与密码,则为non-login shell
比如你在原本的 bash 环境下再次下达 bash 这个命令,同样的也没有输入账号密码, 那第二个 bash (子程序) 也是 non-login shell
查看登陆shell与非登陆shell
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
二、交换shell与非交互shell
交互式shell(interactive shell)
交互式模式就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。
非交互式shell(non-interactive shell)
shell也可以运行在另外一种模式:非交互式模式,以shell script(非交互)方式执行。在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
三、登陆shell与非登陆shell调用的shell环境读取顺序
上图列出了登陆shell与非登陆shell读取的不同的shell环境配置文件。
其中,实线的的方向是主线流程,虚线的方向则是被调用(或读取)的配置文件
此外,对于登陆shell,读取~/.bash_profile配置文件时,会做出读取顺序判读,如下
~/.bash_profile —> ~/.bash_login —> ~/.profile
但 bash 的 login shell 配置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序。也就是说,如果 ~/.bash_profile 存在,那么其他两个文件不论有无存在,都不会被读取。 如果 ~/.bash_profile 不存在才会去读取 ~/.bash_login,而前两者都不存在才会读取 ~/.profile 的意思。
四、其他情形
1、除了读取上述配置文件之外,在登陆shell中还会读取其他相关配置信息,如读取 ~/.bash_history
2、对于shell环境变量修改之后需要立即生效的情形,可以使用source来立即生效。
用法
# source 配置文件档名
###如修改了~/.bash_profile,不重新登陆希望生效的话,执行以下命令
# source ~/.bash_profile ###下一命令等价
# . ~/.bash_profile
3、shell登出
在shell登出是会读取 ~/.bash_logout
- Linux 登陆shell,交互shell以及环境变量读取顺序
- Linux 登陆shell,交互shell以及环境变量读取顺序
- bash学习之一:登陆、非登陆shell,交互、非交互shell,以及它们的startup文件
- bash:登陆,非登陆shell;交互,非交互shell;以及它们的startup文件
- 登陆、非登陆shell,交互、非交互shell,以及它们的startup文件
- Linux bash shell环境变量以及语法规范
- shell脚本设置登陆环境变量
- linux 登陆shell和非登陆shell
- linux加密登陆shell
- linux 环境变量,shell变量
- linux shell export 环境变量
- Linux Shell环境变量
- linux shell环境变量总结
- linux 常用 shell 环境变量
- Linux Shell环境变量
- linux shell 环境变量
- Linux Shell自动交互
- linux shell 交互代码
- Y
- CentOs7 安装 nodejs
- 15418 HW1 学习心得
- Ubuntu完全教程,让你成为Ubuntu高手!
- 《七点三刻》有价值的新闻早餐 2017年11月18日星期六,第009期
- Linux 登陆shell,交互shell以及环境变量读取顺序
- p1项目,预测波士顿房价
- Java ConcurrentModificationException异常原因和解决方法
- NOIP2017 【游记】
- 机器学习逻辑回归:原理推导
- P2项目,寻找潜在的捐助者
- 算法效率的衡量
- 机器学习储备(9):matplotlib绘图原理及实例
- 微软发力医疗人工智能市场,巨头之战一触即发