profile bashrc 环境变量

先说结论:
系统环境变量文件: /etc/profile
用户环境变量文件: ~/.bash_profile

1 profile

(1) 概念

profile 是专门用来设置环境变量的文件

(2) 加载时机

在用户第一次登录时被加载,
ssh login, sudo su是典型的 interactive login shell, 会从上往下依次加载

/etc/profile # 系统环境变量
~/.profile # 用户环境变量

可通过source立刻重新加载

2 bashrc

(1) 概念

bashrc 是专门用来给 bash 做初始化的, 比如bash 的代码补全, bash 的别名, bash 的颜色.
因为用户可以有多个 shell 比如 bash, sh, zsh 之类的, 所以还存在 shrc, zshrc 这样的文件

(2) 加载时机

在命令提示符状态下输入 bash 或者 ubuntu 默认设置下打开终端
这样开启的是 interactive no-login shell, 会从上往下依次加载

/etc/bash.bashrc # 系统bash配置
~/.bashrc # 用户自定义的bash配置

可通过source立刻重新加载

3 环境变量

(1) export (对当前shell生效, shell关闭后失效)

export PATH=$PATH:/etc/python3.6/bin

(2) ~/.profile (对单用户生效, 永久)

vim ~/.profile
export PATH=$PATH:/etc/python3.6/bin
source ~/.profile  # 重新加载文件, 使之立即生效

注: 编辑~/.bashrc也是相同的效果, 但更正规的方法是用profile文件来处理环境变量

(3) /etc/profile (对所有用户生效, 永久)

vim etc/profile

export PATH=$PATH:/etc/python3.6/bin
source etc/profile  # 重新加载文件, 使之立即生效

(4) /etc/environment (与用户无关, 永久)

vim etc/environment
export PATH=$PATH:/etc/python3.6/bin
source etc/environment # 重新加载文件, 使之立即生效

4 环境变量加载顺序

(1) 系统启动时的加载顺序

从上往下依次加载

/etc/enviroment
/etc/profile
~/.profile

(2) 系统登录时的加载顺序

从上往下依次加载

/etc/profile
(~/.bash_profile | ~/.bash_login | ~/.profile) # 从左往右读, 只读取三个文件中的一个
~/.bashrc
/etc/bashrc
~/.bash_logout

这里又出现了几个新文件, 下面依次说明:

• ~/.bash_profile: 类似于~/.profile
• ~/.bash_login: 登录bash shell时, 执行该文件.
• /etc/bashrc: mac系统才有这个, 当bash shell被打开时,该文件被读取。
• ~/.bash_logout: 退出bash shell时, 执行该文件.

注意:
~/.bash_profile, ~/.bash_login, ~/.profile
这三个文件中是优先加载~/.bash_profile, 而且只加载这三个中的一个
这意味着, 如果你系统中有~/.bash_profile,
那你在~/.profile中配置用户环境变量是无效的,
因为它加载不到~/.profile, 所以用户环境变量文件最好选用~/.bash_profile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值