Linux教程

|NO.Z.00055|——————————|LinuxShell|——|Linux&Shell$变量.V12|--------------------------------------------

本文主要是介绍|NO.Z.00055|——————————|LinuxShell|——|Linux&Shell$变量.V12|--------------------------------------------,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


[LinuxNetworkEnd:Linux&Shell$变量.V12]                                                     [Applications.LinuxNetworkEnd][|Linux|shell编程|shell基础|环境变量配置文件|source|][环境变量配置文件调用过程|shell登录信息|定义Bash快捷键|]








一、环境变量配置文件

### --- source 命令
~~~     环境变量配置文件
~~~     登录时生效的环境变量配置文件

[root@localhost ~]# source 配置文件
~~~     # OR
[root@localhost ~]# . 配置文件

### --- 在 Linux 系统登录时主要生效的环境变量配置文件有以下五个:

/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc

二、环境变量配置文件调用过程

三、环境变量配置文件调用过程说明
### --- 在用户登录过程先调用/etc/profile 文件
### --- 在这个环境变量配置文件中会定义这些默认环境变量:
~~~     # USER 变量:
~~~     根据登录的用户,给这个变量赋值(就是让 USER 变量的值是当前用户)。
~~~     # LOGNAME 变量:
~~~     根据 USER 变量的值,给这个变量赋值。
~~~     # MAIL 变量:
~~~     根据登录的用户,定义用户的邮箱为/var/spool/mail/用户名。
~~~     # PATH 变量:
~~~     根据登录用户的 UID 是否为 0,判断 PATH 变量是否包含/sbin、/usr/sbin和/usr/local/sbin 这三个系统命令目录。
~~~     # HOSTNAME 变量:
~~~     更加主机名,给这个变量赋值。
~~~     # HISTSIZE 变量:
~~~     定义历史命令的保存条数。
~~~     # umask:
~~~     定义 umask 默认权限。注意/etc/profile 文件中的 umask 权限是在“有用户登录过程
~~~     (也就是输入了用户名和密码)”时才会生效。
~~~     # 调用/etc/profile.d/*.sh 文件,
~~~     也就是调用/etc/profile.d/目录下所有以.sh 结尾的文件。

~~~     # 由/etc/profile 文件调用/etc/profile.d/*.sh 
~~~     文件这个目录中所有以.sh 结尾的文件都会被/etc/profile 文件调用,
~~~     这里最常用的就是 lang.sh 文件,而这个文件又会调用/etc/sysconfig/i18n 文件。
~~~     /etc/sysconfig/i18n 这个文件眼熟吗?就是我们前面讲过的默认语系配置文件啊。
### --- 由/etc/profile 文件调用~/.bash_profile 文件~/.bash_profile 文件就没有那么复杂了,
### --- 这个文件主要实现了两个功能:

~~~     调用了~/.bashrc 文件。
~~~     在 PATH 变量后面加入了“:$HOME/bin”这个目录。
~~~     那也就是说,如果我们在自己的家目录中建立 bin 目录,
~~~     然后把自己的脚本放入“~/bin”目录,就可以直接执行脚本,而不用通过目录执行了。
### --- 由~/.bash_profile 文件调用~/.bashrc 文件在~/.bashrc 文件中主要实现了:

~~~     定义默认别名,所以超哥把自己定义的别名也放入了这个文件。
~~~     # 调用/etc/bashrc由~/.bashrc 调用了/etc/bashrc 文件在/etc/bashrc 文件中主要定义了这些内容:
~~~     # PS1 变量:
~~~     也就是用户的提示符,如果我们想要永久修改提示符,就要在这个文件中修改
~~~     # umask:
~~~     定义 umask 默认权限。这个文件中定义的 umask 是针对“没有登录过程(也就是不需要输入用户名和密码时,
~~~     比如从一个终端切换到另一个终端,或进入子 Shell)”时生效的。
~~~     如果是“有用户登录过程”,则是/etc/profile 文件中的 umask 生效。
~~~     # PATH 变量:
~~~     会给 PATH 变量追加值,当然也是在“没有登录过程”时才生效。
~~~     # 调用/etc/profile.d/*.sh 文件,这也是在“没有用户登录过程”是才调用。
~~~     # 在“有用户登录过程”时,/etc/profile.d/*.sh 文件已经被/etc/profile 文件调用过了。

### --- 这样这五个环境变量配置文件会被依次调用,

~~~     那么如果是我们自己定义的环境变量应该放入哪个文件呢?
~~~     如果你的修改是打算对所有用户生效的,那么可以放入/etc/profile 环境变量配置文件;
~~~     如果你的修改只是给自己使用的,
~~~     那么可以放入~/.bash_profile 或~/.bashrc 这两个配置文件中的任一个。
~~~     可是如果我们误删除了这些环境变量,比如删除了/etc/bashrc 文件,
~~~     或删除了~/.bashrc 文件,
~~~     那么这些文件中配置就会失效(~/.bashrc 文件会调用/etc/bashrc 文件)。
~~~     那么我们的提示符就会变成:-bash-4.1#

四、注销时生效的环境变量配置文件

### --- 注销时生效的环境变量配置文件

~~~     在用户退出登录时,只会调用一个环境变量配置文件,
~~~     就是~/.bash_logout。这个文件默认没有写入任何内容,
~~~     可是如果我们希望再退出登录时执行一些操作,
~~~     比如清除历史命令,备份某些数据,就可以把命令写入这个文件。

五、其他配置文件

### --- 其他配置文件

~~~     还有一些环节变量配置文件,最常见的就是~/bash_history 文件,也就是历史命令保存文件。
~~~     这个文件已经讲过了,这里我们只是把它归入环境变量配置文件小节而已。








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                   ——W.S.Landor



来自为知笔记(Wiz)

这篇关于|NO.Z.00055|——————————|LinuxShell|——|Linux&Shell$变量.V12|--------------------------------------------的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!