
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,这样就是系统级的
1首先,我们可以查看下当前 *** 作系统到底有哪些环境变量,依次点击“开始”,“运行”,输入cmd,调出命令行程序!2接着,在d出的cmd命令行程序中,输入“set”,就可以查看当前 *** 作系统的所有环境变量设置了。
3然后发现,这里面包含很多的系统设置,如ProgramW6432=C:\ProgramFiles,也就是说ProgramW6432这个环境变量是代表着C:\Program Files这个路径,可以简单验证一下,输入cd %ProgramW6432%这个命令就可以到达变量所代表的路径了!当然ProgramFiles这个环境变量同样代表的是这个路径:
4接下来和大家分享下如何用set命令增加环境变量!假设,我们经常使用360杀毒程序,程序目录为:C:\Program Files\360\360sd\360sd.exe,那么在cmd程序命令中直接输入360sd.exe是不行的,提示”不是内部或外部命令,也不是可运行的程序“,如下图所示:
5但是,如果切换到C:\ProgramFiles\360\360sd\这个目录下面的话,就可以正常执行了,如何
6接下来,我们要做的就是把C:\ProgramFiles\360\360sd\这个目录设置到系统的环境变量中去,主要修改的地方就是PATH这个变量,在原来PATH变量中添加C:\Program Files\360\360sd\这个路径,具体做法是:在命令行程序中输入”setPath=C:\ProgramFiles\360\360sd\C:\Windows\system32C:\WindowsC:\Windows\System32\WbemC:\Windows\System32\WindowsPowerShell\v1.0\C:\ProgramFiles (x86)\ATI Technologies\ATI.ACE\Core-Static“,
7接下来我们再次查看系统的环境变量,发现系统的PATH变量已经置入了我们需要的360杀毒程序的目录:C:\Program Files\360\360sd\。
8然后,我们再次尝试在cmd命令行程序任意目录输入“360sd.exe”,看看能否执行我们需要的360杀毒程序,结果是肯定的,系统没有报错,
9当然了,我们如果不需要这个目录了,也可以删除掉,只需要在cmd命令程序中执行如下命令即可“setPath=C:\WindowsC:\Windows\System32\WbemC:\Windows\System32\WindowsPowerShell\v1.0\C:\ProgramFiles (x86)\ATI Technologies\ATI.ACE\Core-Static”
读者其实可以发现,只要去掉360杀毒的目录就可以了,执行之后,发现360sd.exe这个命令又不能运行了呢!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)