Linux 环境变量 linux关于bashrc与profile的区别(转)

【参考文章】:linux关于bashrc与profile的区别(转)

【参考文章】:Linux bashrc和profile的用途和区别

1. shell

  使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理。

  Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell。

  bashrc和profile都是Shell的启动设置文件(其实这两个文件也是Shell脚本),可以为当前的Shell初始化环境变量等

2. bashrc与profile

2.1 基本概念

  bashrc与profile都用于保存用户的环境信息,bashrc用于非交互式non-loginshell,而profile用于交互式login shell。

  交互式模式:在这种模式下,shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。

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

2.2 区别

  1. bashrc是在系统启动后就会自动运行。

  2. profile是在用户登录后才会运行。

  3. 进行设置后,可运用source bashrc命令更新bashrc,也可运用source profile命令更新profile。

扫描二维码关注公众号,回复: 4630561 查看本文章

    PS:通常我们修改bashrc,有些linux的发行版本不一定有profile这个文件

  4. /etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

2.3 关系  

  ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,它设置一些环境变量,执行用户的.bashrc文件

  ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。

  ~/.bash_profile 是交互式、login方式进入bash运行的,~/.bashrc是非交互式non-login方式进入bash运行的,通常二者设置大致相同,所以通常前者会调用后者

猜你喜欢

转载自www.cnblogs.com/virgosnail/p/10168199.html