一点一滴,成材之基!bash的环境变量配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一点一滴,成材之基!bash的环境变量配置文件相关的知识,希望对你有一定的参考价值。

目录:
(一)bash配置文件分类
(二)bash配置文件的读取
(三)配置文件实战


(一)bash配置文件分类
(1.1)bash的配置文件主要有两类,第一种是全局配置文件,第二种是个人配置文件。其中全局配置文件主要包含三类:/etc/profile、/etc/profile.d/*.sh、/etc/bashrc这三种,而个人配置文件主要包括两类:~/.bash_profile、~/.bashrc这两种。
(1.2)从类别的角度来分类主要可以分为profile类的文件和bashrc类的文件。
(1.2.1)其中profile类的文件包括:/etc/profile、/etc/profile.d/*.sh、~/.bash_profile,而profile类文件的主要作用中第一种:设定环境变量,而且环境变量作用范围越小越最终生效,例如~/.bash_profile是对单个用户设定环境边变量,其作用的范围小于在/etc/profile全局环境变量的设置,但是当同时设置两个文件中环境变量的时候却是~/.bash_profile文件中设定的环境变量最终运行。第二种:运行命令或脚本,在用户登录之前就可以生成的信息,例如开机欢迎的画面等。
(1.2.2)其中bashrc类的文件包括:/etc/bashrc、~/.bashrc,而bashrc类的文件的主要作用中第一种:设定本地变量,而不是环境变量。第二种:定义命令别名也是可以在bashrc类的文件中定义的。


(二)bash配置文件的读取
(2.1)第一种登录式shell(# su - USERNAME)在读取bash配置文件的时候,主要是按照:①/etc/profile②/etc/profile.d/*.sh③~/.bash_profile④~/.bashrc⑤/etc/bashrc这样的顺序进行读取。
(2.2)第二种非登录式shell(# su USERNAME)在读取bash配置文件的时候,主要是按照①~/.bashrc②/etc/bashrc③/etc/profile.d/*.sh这样的顺序进行读取。


(三)配置文件实战
(3.1)如果我们需要定义一个永久有效的别名,假设我们需要定义的是全局的别名则应该在/etc/bashrc中进行设置,假设我们需要定义的是对个人用户有效的别名则应该在~/.bashrc中进行定义,例如我们在jerry用户的~/.bashrc文件中进行配置,此时我们退出后重新登录jerry用户发现cls命令已经可以实现clear命令别名的效果。
# vim .bashrc---我们在当前用户的家目录中定义一个仅对自己有效的别名
技术图片
技术图片
技术图片
(3.2)我们希望jerry用户在登录系统的时候能够有一个欢迎提示的信息出现,此时我们应该在jerry用户的~/.bash_profile文件中进行编辑
# vim .bash_profile
# su - jerry---登录式切换到jerry用户
技术图片
技术图片
技术图片
(3.3)如果我们想定义umask值对当前的用户生效,如果是让全局的umask值生效,那么就需要在/etc/profile文件中进行定义,如果只是让当前用户的umask值生效,那么就可以在~/.bash_profile文件中进行定义(图3-7和图3-8)。
注意:我们知道在系统中默认的umask值为002,这是由于系统在/etc/bashrc文件中进行设置的(图3-10),表明如果用户的UID大于199,且用户的UID和GID的值是一样的,那么就设置umask值为002。
技术图片
技术图片
技术图片
技术图片
(3.4)经验补充:
地址总线:内存地址
数据总线:传输数据
控制总线:控制指令

—————— 本文至此结束,感谢阅读 ——————

以上是关于一点一滴,成材之基!bash的环境变量配置文件的主要内容,如果未能解决你的问题,请参考以下文章

一点一滴,成材之基!Linux系统启动流程详解

一点一滴,成材之基!tr命令实战

[Shell]Bash变量:环境变量的配置文件和登录信息

JDK配置环境变量、卸载

Mac版配置JDK环境变量

bash的环境配置文件(系统开机加载文件变量的方式)