环境变量
环境变量PATH
什么是环境变量呢?简要的说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。
在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量 PATH 的设置问题。
当登入系统获得一个shell进程时,其读取环境设置脚本分为三步:
- 首先读入的是全局环境变量设置文件/etc/profile,然后根据其内容读取额外的文档,如/etc/profile.d和/etc/inputrc
- 读取当前登录用户Home目录下的文件~/.bash_profile,其次读取~/.bash_login,最后读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系
- 读取~/.bashrc
方法一
控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。 这个只针对特定的shell:
$ PATH="$PATH:/my_new_path" (关闭shell,会还原PATH)
方法二
修改/etc/profile文件,如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell;
vi /etc/profile
在里面加入:
export PATH="$PATH:/my_new_path"
使用source命令使修改立刻生效:
source /etc/profile
方法三
修改.bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
vi /root/.bashrc
在里面加入:
export PATH="$PATH:/my_new_path"
source /root/.bashrc
后两种方法一般需要重新注销系统才能生效,也可以使用source 命令,使修改的配置立刻生效。
最后可以通过echo命令测试一下:
$ echo $PATH
~/.profile与~/.bashrc的区别
- 这两者都具有个性化定制功能
- ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
- ~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次