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,这样就是系统级的
对所有用户的变量设置通常应该放在系统的全局配置文件中。这些文件通常位于系统的配置目录之下,例如/etc/或/usr/local/etc/。这些文件通常包含系统的全局配置选项,对所有用户都有效。不同的 *** 作系统可能有不同的配置目录和文件。例如,在Linux系统中,可能会有/etc/bashrc、/etc/profile或/etc/environment等文件,用于设置全局变量。在Windows系统中,可能会有C:\Windows\System32\GroupPolicy\Machine\Registry.pol或C:\Windows\System32\GroupPolicy\User\Registry.pol等文件,用于设置全局变量。
建议您查看 *** 作系统的文档或在线资源,了解有关如何设置全局变量的详细信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)