linux环境变量

bashrc与profile的区别mysql

要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是loginshell 和non-login shell。sql

交互式模式就是shell等待你的输入,而且执行你提交的命令。这种模式被称做交互式是由于shell与用户进行交互。这种模式也是大多数用户很是熟悉的:登陆、执行一些命令、签退。当你签退后,shell也终止了。shell

 shell也能够运行在另一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,而且执行它们。当它读到文件的结尾,shell也就终止了。vim

bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式loginshell。系统中存在许多bashrc和profile文件,下面逐一介绍:windows

/etc/bashrc,用户目录下.bashrc有什么区别? 安全

一个是针对整个系统全部用户的,一个是针对特定用户的./etc/bashrc修改了之后要重启系统才生效,而用户目录下.bashrc修改了之后从新登陆就生效 bash

2。/etc/profile与/etc/bashrc的区别? ssh

前一个主要用来设置一些系统变量,好比JAVA_HOME等等,后面一个主要用来保存一些bash的设置.  ide

/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中方法有下面三种

1shell中设置环境变量,不过不同意这种方法,由于换个shell或重启shell你的设置就无效了,只

   能临时使用

      配置例子以下

 

   $PATH="$PATH:/新的路径名称"    (关闭shell,配置失效)

 

 

计算机生成了可选文字:[root@shell、]#mkdlrxx[root@shell门#echo$PATH/usr/11b64/qt一3.3/bin:/usr/local/sbin:/root/bln[root@shell']#pwd/root[root@Shell、]#PATH=$PATH:/root/xx[root@shell']#echo$PATH-/usr/1lb64/qt一3.3/bln:/usr/local/sbin:/root/bln:/root/xx[root@Shell']#/usr/local/bin:/sbln:/bln:/usr/sbln:/usr/bin:叮飞赢二曰11山./usr/local/bln:/sbln:/bln:/usr/sbln:/usr/binJ、厂\、}勺,’巴f,.~,.r~.尸了户飞尸“主n添加进去

 

 

2、修改/etc/profile文件,若是你的计算机没有用在重要的办公环境中,只是用来作一些测试、能够

      使用这个方法,若是不是不推荐使用这种方法,由于这种方法系统里面全部的用户都能使用这个环

      境变量,会给系统带来安全性问题

     配置方法以下

    vim /etc/profile

    在这个配置文件里面加入

   export PATH="$PATH:/新的路径"      (这个配置方法系统全部的用户均可能使用这个变量)

计算机生成了可选文字:且lbfbl乙七二‘口{:一“」;它hen厂一一一exportHISTCONTROL=lgnorebothexportHISTCONTROL=ignoredupsr.LeSf11.1.1efexportPATHUSERLOGNAME作ILHOSTN劫伍HISTSIZEHISTCOXTROLPATH=,·/root/xx"井Bydefault,wewantumasktogetset.ThissetsItforloglnshell#Currentthresholdforsystemreserveduid/gids15200#YoucouldcheckuldgidreservationvalidltyIn#/usr/share/doc/setup一*/uldgidfileIf[一gt199]撇["/usr/bin/,u一gn"=一/usr/bin/id一un'"];lllllask6lseUmask,J"/etc/proflle"79L,1863C己写入[root@shell门#Sour。e/etc/profile[root@shell门#echo$PATH/usr/1lb64/qt一3.3/bin:/usr/local/sbln:/usr/local/bin:/sbln:/bln:/usr/s/root/bln:/root/xx[root@shell、1#

 

3、修改用户的 ".bashrc"文件,这种方法是针对用户级别的相对比较安全,若是要给某个用户使用环境

      变量直接修改用户主目录下的 ".bashrc"文件夹便可

     配置方法以下

   vim ~/.bash_profile

   在这个文件里面加入

  exportPATH="$PATH"/新的路径"

计算机生成了可选文字:#.bash一roflle#GettheallasesandfUnctionsif[一f、/.bashrc]:then、/.bashrcfi皿价产在卜主云,分#USerSp扬i。。nvironmen:。ndStartu。。rogr二sPATH=eXportPATH川着入/bln卜二屯洲汤娜口口I还止林坦护石自砂把一大_1口门曰曰..山目曰二山如击御~,户侧.J曰..''.曰.一~~一~.口目,目门.,

 

 

后面的两种方法须要从新启动西东才能生效或者输入全部用户变量source /etc/profile

单个用户suorce~/.bash_profile

QQ交流群:11511420

相关文章
相关标签/搜索