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