关闭

source ~/.bashrc ~/.bash_profile

标签: shell脚本linux
399人阅读 评论(0) 收藏 举报
分类:

1.source

source的作用是用来执行一个脚本
source a.sh 和直接执行 ./a.sh的区别:
调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同它就是在本shell中执行的,所以可以看到结果。
比如你在一个脚本里export $KKK=111 ,如果你用./a.sh执行该脚本,执行完毕后,你运行 echo $KKK ,发现没有值,如果你用source来执行 ,然后再echo ,就会发现KKK=111。

环境变量执行过程

登录linux时,首先启动

/etc/profile

然后启动用户目录下的

~/.bash_profile, ~/.bash_login, 或 ~/.profile

执行的顺序为:

~/.bash_profile, ~/.bash_login, ~/.profile

如果~/.bash_profile 存在,一般还会执行 ~/.bashrc文件
因为~/.bash_profile中一般会有下面的代码:

if [ -f ~/.bashrc ] ; then
   ../bashrc
fi

~/.bashrc中,一般还会有以下代码:

if [ -f /etc/bashrc ] ; then
   ./etc/bashrc
fi

所以,~/.bashrc会调用 /etc/bashrc文件
退出shell时,还会执行 ~/.bash_logout文件。
执行顺序为: /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

3.配置文件说明

  • /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
  • /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
  • ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
  • ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
  • ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。
  • ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

4. /etc/environment

1)先将export LANG=zh_CN加入/etc/profile,退出系统重新登录,登录提示显示英文。
2)先将/etc/profile 中的export LANG=zh_CN 删除将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:175650次
    • 积分:3742
    • 等级:
    • 排名:第8629名
    • 原创:180篇
    • 转载:73篇
    • 译文:12篇
    • 评论:8条
    文章分类
    最新评论