开发者社区> 问答> 正文

登入Shell与非登入Shell 的区别

Linux系统的ECS服务器中,登入Shell 与非登入Shell 的区别?

展开
收起
开发者说 2019-07-12 16:41:08 511 0
1 条回答
写回答
取消 提交回答
  • 根据 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  

    2019-07-12 16:41:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载