linux中login shell 和 non-login shell 的区别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux中login shell 和 non-login shell 的区别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2228字,纯文字阅读大概需要4分钟。
内容图文
![linux中login shell 和 non-login shell 的区别](/upload/InfoBanner/zyjiaocheng/942/979e03e041974998b55d4c0175c2b70f.jpg)
介绍之前先思考一个问题:有时我们通过su
命令切换用户后,却发现并没有进入该用户的shell环境。这是为什么?
-
login shell:取得bash时需要完整的登录流程。就是说通过输入账号和密码登录系统,此时取得的shell称为login shell
-
non-login shell:取得sbash接口的方法不需要重复登录的举动。如以X Window登录登录linux后,再以X的图形界面启动终端机,此时那个终端机并没有需要输入账号和密 码,那个bash环境就是non-login shell。在原本的bash环境下再次执行bash命令,同样也没有输入账号密码就进入新的bash环境(前一个bash的子进程),新的bash也是non-login shell。
那么,到底两者的区别在哪里?
login shell:此种方式登录时,shell会重新读取/etc/profile
和~/.bash_profile
来应用新的环境变量。
non-login shell:此时shell不会读取/etc/profile
和~/.bash_profile
,而是读取~/.bashrc
来应用新的环境变量。话说标题是区别与影响,影响的东西自然源于区别。回到文章开头的问题,su
切换用户没有获取用户的环境(当时用的命令是"su xxoo",这里xxoo为要切换的用户,以root身份执行的此命令),看来问题就在这倆login方式,根据现象我们可以判断 su xxoo执行了non-login shell。
为了验证上面的判断,我们查看了su命令的简单帮助:
[root@isayme ~]# su --help
Usage: su [OPTION]... [-] [USER [ARG]...]
Change the effective user id and group id to that of USER.
-, -l, --login make the shell a login shell
很明显,我的判断是正确的,默认情况下是执行的non-login shell,因为要执行login shell需要在su后面添加参数"-"或"-l"或"--login"
。所以要在su之后获取用户的环境变量,需要执行类似"su - xxoo"之类的命令。
配置文件加载情况
.bash_profile和.bashrc的区别:
/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件.
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
二进制杯莫停
发布了115 篇原创文章 · 获赞 4 · 访问量 4572
私信
关注
内容总结
以上是互联网集市为您收集整理的linux中login shell 和 non-login shell 的区别全部内容,希望文章能够帮你解决linux中login shell 和 non-login shell 的区别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。