根据 Shell 是登入 Shell 还是非登入 Shell,其运行的启动脚本是不一样的。
通常,“su - ” 表示登入 shell,“su ” 表示非登入 shell。二者区别是:
1. 登入shell
/etc/profile 是登入 shell 启动后运行的第一个启动脚本,它只为登入 shell 运行,非登入 shell 不会引发这个脚本。
登入 shell 加载启动脚本的顺序为:
/etc/profile → /etc/profile.d → .bash_profile → .bashrc → /etc/bashrc
在退出登入 shell 时,我们还可以执行某些任务,如创建自动备份、清除临时文件。可以把这些任务放在 .bash_logout 文件中。
二. 非登入 shell
非登入 shell 加载启动脚本的顺序:
.bashrc → /etc/bashrc → /etc/profile.d
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。