与登录shell相关的文件

一般的系统可能会有
/etc/profile
/etc/bashrc

~/.bashrc
~/.bash_profile

profile 是某个用户唯一的用来设置环境变量的地方, 因为用户可以有多个 shell 比如 bash, sh, zsh 之类的, 但像环境变量这种其实只需要在统一的一个地方初始化就可以了, 而这就是 profile.

bashrc是专门用来给 bash 做初始化的比如用来初始化 bash 的设置, bash 的代码补全, bash 的别名, bash 的颜色. 以此类推也就还会有 shrc, zshrc 这样的文件存在了, 只是 bash 比较常用.

/etc/xxx  文件里面的内容对所用的用户都适用
~/.xxx   文件里面的内容只适用于个人

login shell:该模式表示用户登入,比如使用 "su -" 命令, 或者用 ssh 连接到某一个服务器上, 都会使用该用户默认shell 启动 login shell 模式.该模式下的 shell 会去自动执行 /etc/profile 和 ~/.profile 文件, 但不会执行任何的 bashrc 文件, 所以一般再 /etc/profile 或者 ~/.profile 里我们会手动去 source bashrc 文件.

no-login shell:该模式是我们在终端下直接输入 bash 或者 bash -c “CMD” 来启动的 shell.该模式下是不会自动去运行任何的 profile 文件.

interactive shell:该默认是交互式shell, 就是用来和用户交互的, 提供了命令提示符可以输入命令.在这种模式下会存在一个叫 PS1 的环境变量, 如果还不是 login shell 的则会去 source /etc/bash.bashrc 和 ~/.bashrc 文件

non-interactive shell:


SSH login, sudo su - [USER] 或者 mac 下开启终端这些都是典型的interactive login shell, 所以会有 PS1 变量, 并且会执行/etc/profile   ~/.profile两个文件







     本文转自西鼠 51CTO博客,原文链接:http://blog.51cto.com/10630401/1981763,如需转载请自行联系原作者


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值