Linux文件系统之环境变量(如何加载)

目录

①变量是什么东西

变量分为两种类型:环境变量和局部变量

>>>环境变量

>>>局部变量

②使用登录式的交互式shell,系统如何加载环境变量(重点)

③如何去设置变量

 


 

前言:

为什么要学习环境变量

>>>系统中有很多默认的环境变量,很多脚本和程序依赖于这些环境变量,
要读懂系统中的脚本和程序中的代码,必须掌握环境变量

>>>我们需要在Linux环境下编程,包括写shell脚本等,都需要调用系统中的环境变量,
包括调用系统默认的环境变量和用户自定义的环境变量

>>>当需要个性化定义环境变量,则需要知道环境变量存储在哪里,如何去定义和使用

 


 

①变量是什么东西

>>>printenv:输出系统中的环境变量

>>>set         :输出系统中的所有变量

>>>环境变量:是存储有关shell会话和工作环境的信息

>>>变量存储在内存中,运行在shell上的程序和脚本,都可以访问

>>>格式:variabel=values(变量的等号两边都不能有空格,需要空格用引号引起来)

 

变量分为两种类型:环境变量和局部变量

>>>环境变量

环境变量不仅对shell会话可见,对所有的shell创建的子进程都有效

使用export命令,使变量成为环境变量

>>>局部变量

局部变量只能在创建它的shell中有效,当这个shell退出或终止后,局部变量会失效
即只有在定义它们的进程中有效

 


 

②使用登录式的交互式shell,系统如何加载环境变量

shell的划分

区别:按是否交互划分:交互式shell和非交互式shell

          按是否登录划分:登录shell和非登陆shell

>>>交互式shell

登录、执行命令、退出,当退出后,shell也会终止

>>>非交互式shell

以shell script(脚本)方式去执行,不需要进行交互

>>>登录式shell

案通过账号密码验证登录到Linux

>>>非登陆式shell

通过图形化界面打开一个terminal终端

 

登录式的交互式shell执行的启动文件——知道系统如何去加载环境变量

(重点)

正常情况下:

涉及文件:/etc/profile ——>/etc/profile.d

$HOME/.bash_profile$HOME/.bash_login$HOME/.profile

$HOME/.bashrc ——>/etc/bashrc

 

>>>先读取/etc/profile文件(系统中每个用户登录一定会执行的文件)

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL:将这几个变量设置为环境变量

加载/etc/profile.d 目录下的所有shell脚本(存放用户登录时要执行的应用专属启动文件)

>>>再读取$HOME/.bash_profile$HOME/.bash_login$HOME/.profile其中的一个文件(按顺序)

$HOME/.bash_profile:执行$HOME/.bashrc文件;并且PATH=$PATH:$HOME/.local.bin:$HOME/bin

>>>如果上一步未读取到文件,则读取$HOME/.bashrc文件

$HOME/.bashrc文件(建议用户在此文件设置自己的别名):读取/etc/bashrc文件

 

非正常启动情况(su命令切换用户):

>>>直接读取/etc/bashrc文件,然后进入命令行交互

 


 

③如何去设置变量

>>>设置环境变量:建议在/etc/profile这个文件以格式:variabel=values设置,并export输出作为环境变量

>>>设置局部变量:在对应的进程下以格式:variabel=values设置,当退出该进程,变量失效

>>>删除变量:unset命令

>>>删除局部变量,可以直接unset variable方式去删除

>>>删除环境变量,登录shell进程下创建的子进程删除环境变量时,只是从子进程中删除,父进程中环境变量不变

 

 


说明:

>>>以上内容是本人学习的总结

>>>如还有错误,请留言,指正

>>>亦可分享自己的想法,互相学习

猜你喜欢

转载自blog.csdn.net/Mr_Bei/article/details/82720612
今日推荐