首页 > 代码库 > linux环境变量
linux环境变量
bashrc与profile的区别
要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是loginshell 和non-login shell。
交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式loginshell。系统中存在许多bashrc和profile文件,下面逐一介绍:
/etc/bashrc,用户目录下.bashrc有什么区别?
一个是针对整个系统所有用户的,一个是针对特定用户的./etc/bashrc修改了以后要重启系统才生效,而用户目录下.bashrc修改了以后重新登录就生效
2。/etc/profile与/etc/bashrc的区别?
前一个主要用来设置一些系统变量,比如JAVA_HOME等等,后面一个主要用来保存一些bash的设置.
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bashshell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件.
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
~/.bash_profile是交互式、login 方式进入 bash 运行的
~/.bashrc是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。
.bash_profile文件在通过控制台(或远程登录, 比如ssh)登录(login)系统的时候被执行的shell脚本.
而 .bashrc则是在打开虚拟终端的时候才会起作用,比如在GNOME,KDE中执行rxvt.
通俗的理解
~/.bash_profile是交互式、login 方式进入 bash 运行的
~/.bashrc是交互式 non-login 方式进入 bash 运行的
【环境变量配置的原因】
在windows系统下,很多软件的安装都需要设置环境变量,如安装Mysql、如果不设置环境变量,在非软件的安装目录下运行mysql命令,将会报告找不到文件类的错误。
那么、什么是环境变量呢?通俗的说,就是指定一个目录、运行软件的时候,相关的程序会到该目录寻找相关的文件。
设置变量对于一般人最实用的功能就是:需要找某些执行程序或执行某些shell脚本的时候,不用去到该目录下中执行、系统中的PATH路径会帮你完成搜索查找的功能,通俗的说法就是,只要你的目录在PATH路径中,都属于环境变量,执行任何东西PATH都会帮你找到。
在Linux系统中,如果你下载并安装了应用程序,很有可能在键入执行名称时出现“command not found"命令找不到的提示内容,如果每次都到安装程序目录内,找到可执行文件,那个就太烦躁,
这就涉及到环境变量设置的问题了
【Linux 配置环境变量的三个方法】
如果想将一个路径加入到$PATH中方法有下面三种
1、shell中设置环境变量,不过不赞成这种方法,因为换个shell或重启shell你的设置就无效了,只
能临时使用
配置例子如下
$PATH="$PATH:/新的路径名称" (关闭shell,配置失效)
2、修改/etc/profile文件,如果你的计算机没有用在重要的办公环境中,只是用来做一些测试、可以
使用这个方法,如果不是不推荐使用这种方法,因为这种方法系统里面所有的用户都能使用这个环
境变量,会给系统带来安全性问题
配置方法如下
vim /etc/profile
在这个配置文件里面加入
export PATH="$PATH:/新的路径" (这个配置方法系统所有的用户都可能使用这个变量)
3、修改用户的 ".bashrc"文件,这种方法是针对用户级别的相对比较安全,如果要给某个用户使用环境
变量直接修改用户主目录下的 ".bashrc"文件夹即可
配置方法如下
vim ~/.bash_profile
在这个文件里面加入
exportPATH="$PATH"/新的路径"
后面的两种方法需要重新启动西东才能生效或者输入所有用户变量source /etc/profile,
单个用户suorce~/.bash_profile
QQ交流群:11511420
本文出自 “鍒囩” 博客,请务必保留此出处http://nakedman.blog.51cto.com/7350188/1943695
linux环境变量