工作CTRL+R搜索输入命令profile,bashrc,bash_profile区别和联系/etc/profile系统的每个用户设置环境信息,当用户第一次登录时,执行文件并从/etc/profile.d目录中的配置文件中收集shell设置。所以如果你修改了/etc/profile,你必须重启你的修改才能生效。此修改对每个用户有效生效。/etc/bashrc为每个运行bashshell的用户执行这个文件。当bashshell打开时,文件被读取。如果你想为所有使用bash的用户修改某个配置,以后打开bash生效的话,你可以修改这个文件。您无需重新启动即可修改此文件。重新打开一个bash即可生效。~/.bash_profile每个用户都可以通过这个文件输入自己专用的shell信息。当用户登录时,该文件只执行一次!默认情况下,他会设置一些环境变量并执行用户的.bashrc文件。该文件类似于/etc/profile,需要重启才能生效。/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。~/.bashrc此文件包含特定于您的bashshell的bash信息。登录时和每次打开新shell时都会读取此文件。(每个用户都有一个.bashrc文件,在用户目录下)这个文件类似于/etc/bashrc。无需重启即可生效。重新打开一个bash即可生效。/etc/bashrc对所有用户新打开的bash生效,而~/.bashrc只对当前用户新打开的bash生效。~/.bash_logout每次退出系统(退出bashshell)时执行这个文件。另外,在/etc/profile中设置的变量(全局)可以作用于任何用户,而在~/.bashrc等中设置的变量(局部)在/etc/profile中只能继承/etc/profile中的变量,他们是“父子”关系。总结~/.bash_profile是交互式的,登录方式进入bash操作;~/.bashrc为交互式非登录方式输入bash运行;通常这两个设置大致相同,所以通常前者会调用后者。执行顺序为:/etc/profile->(~/.bash_profile|~/.bash_login|~/.profile)->~/.bashrc->/etc/bashrc->~/.bash_logout交互和非交互SHELL交互shell和非交互shell、登录shell和非登录shell的区别。首先这个分两个不同的维度,一个是是否交互,一个是是否登录。Interactiveandnon-interactiveInteractive交互方式是在终端执行,shell等待你的输入,并立即执行您提交的命令。这种模式称为交互式,因为shell与用户交互。大多数用户也非常熟悉这种模式:登录,执行一些命令,注销。当您退出时,shell也会终止。非交互在shell脚本(非交互)模式下执行。在这种模式下,shell不与你交互,而是读取存储在文件中的命令并执行它们。当它读取文件末尾EOF时,shell终止。1.3测试逻辑表达式基本格式-a:逻辑与,运算符两边为真,结果为真,否则为假。-o:逻辑或,运算符两边都为真则结果为真,否则为假。!:逻辑NO,条件为假,结果为真。
