linux 环境变量 /etc/profile、/etc/bashrc、~/.profile、~/.bashrc的区别

bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。

  • /etc/profile,/etc/bashrc 是系统全局环境变量设定
  • ~/.profile,~/.bashrc用户目录下的私有环境变量设定

 

当登入系统获得一个shell进程时,其读取环境设置脚本分为三步:

  1. 首先读入的是全局环境变量设置文件/etc/profile,然后根据其内容读取额外的文档,如/etc/profile.d和/etc/inputrc
  2. 读取当前登录用户Home目录下的文件~/.bash_profile,其次读取~/.bash_login,最后读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系
  3. 读取~/.bashrc

~/.profile与~/.bashrc的区别:

  • 这两者都具有个性化定制功能
  • ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
  • ~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

例如,我们可以在这些环境变量中设置自己经常进入的文件路径,以及命令的快捷方式:

.bashrc
alias m='more'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -l'
alias lsl='ls -lrt'
alias lm='ls -al|more'

log=/opt/applog/common_dir
unit=/opt/app/unittest/common

.bash_profile
. /opt/app/tuxapp/openav/config/setenv.prod.sh.linux
export PS1='$PWD#'

通过上述设置,我们进入log目录就只需要输入cd $log即可;

/etc/profile、/etc/bashrc的区别:

  • /etc/profile 
    此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

  • /etc/bashrc 
    每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。也就是说,当用户shell执行了bash时,运行这个文件。有些linux版本中的/etc目录下已经没有了bashrc文件。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值