Bash启动流程及相关环境变量

本文介绍了Bash的启动流程,包括login shell和no-login shell的区别,以及interactive和non-interactive shell的特性。详细讲解了读取的配置文件,如/etc/profile、~/.bash_profile、~/.bashrc等,以及PATH变量的重要性,如何添加和删除自定义路径。最后讨论了'su -'命令对环境变量的影响。
摘要由CSDN通过智能技术生成

shell分类及基本启动流程

  1. login shell 和 no-login shell
    “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 文件.
  2. interactive shell 和 non-interactive shell
    interactive shell 是交互式shell, 顾名思义就是用来和用户交互的, 提供了命令提示符可以输入命令.
    该模式下会存在一个叫 PS1 的环境变量, 如果还不是 login shell 的则会去 source /etc/bash.bashrc 和 ~/.bashrc 文件
    non-interactive shell 则一般是通过 bash -c “CMD” 来执行的bash.
    在这里插入图片描述

读取配置文件

  1. /etc/profile (login shell 读取)
    设定的变量主要有:
  • PATH:会依据 UID 决定 PATH 变量要不要含有 sbin 的系统指令目录;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值