根据 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
如果问题还未能解决,您可以到阿里云社区进行免费咨询,或联系云市场商家寻求帮助。