source命令 与 设置环境变量的四个文件 (设置永久环境变量)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了source命令 与 设置环境变量的四个文件 (设置永久环境变量)相关的知识,希望对你有一定的参考价值。

参考技术A 1111

source FileName

作用:在当前bash环境下读取并执行FileName中的命令。

注:该命令通常用命令“.”来替代。

如:source /etc/profile 与 . /etc/profile是等效的。

我从网上得知,在ubuntu中,使用source /etc/profile命令可以使新建立的环境变量立刻生效而不用重新启动系统,但是

如题,当我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效,而当我把这个终端关闭重新再打开另一个终端时,刚才有效的环境变量就没了。

原因见下↓

2222

在Ubuntu中有如下几个文件可以设置环境变量

1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。

2、/etc/environment:在登录时操作系统使用的第二个文件,系统在 读取你自己的profile前,设置环境文件的环境变量。

3、~/.bash_profile:在登录时用到的第三个文件是.profile文 件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用 户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该 文件被读取.

4、~/.bashrc:该文件包含专用于你的bash shell的bash信 息,当登录时以及每次打开新的shell时,该该文件被读取。

几个环境变量的优先级

1>2>3

区别:

/etc/profile、/etc/bash.bashrc文件是针对所有用户来说的,每个用户登录时都会执行,其中/etc/profile只执行一次,而/etc/bash.bashrc在每次Shell登录时都会执行。

~/.profile、~/.bashrc文件是针对单个用户来说的,每个用户目录下都会有这两个文件,其中~/.profile在Login Shell登录时执行,~/.bashrc在Non-login Shell登录时执行。

相关概念:

Login Shell:需要输入账号密码Shell,比如tty1-tty6终端、通过ssh登录的终端

Non-login Shell:不需要输入账号密码的Shell,比如图形模式下Ctrl+Alt+T得到的Terminal、Shell下的子进程

设置永久环境变量

1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的 定义,然后把环境变量配置在.bashrc中

2.选择要使用的java环境:update-alternatives –config java

3.要使得刚修改的环境变量生效:source .bashrc

4.查看环境变量:env

可以放到/etc/bash/bashrc,这样就是系统级的

以上是关于source命令 与 设置环境变量的四个文件 (设置永久环境变量)的主要内容,如果未能解决你的问题,请参考以下文章

source命令

source /etc/profile 是啥意思?这个命令不写又能怎么样?

Linux Shell基础 环境变量配置文件

Java环境变量设置成功后运行cmd时提示错误 不是内部或外部命令,也不是可运行的程序或批处理文件

linux source命令与sh shell scripts的区别

Linux下如何使环境变量文件生效