目录
1.Shell环境变量深入:自定义系统环境变量
2.Shell环境变量深入:加载流程原理介绍
3.Shell环境变量深入:加载流程测试
4.Shell环境变量深入:识别与切换Shell环境类型
1.Shell环境变量深入:自定义系统环境变量
1、目标:
可以或许自定义系统级环境变量
2、全局配置文件/etc/profile应用场景:
当前用户进入Shell环境初始化的时候会加载全局配置文件/etc/profile里面的环境变量,供给所有的Shell程序利用。以后只要是所有的Shell程序或命令利用的变量,就可以定义在这个文件中。
3、案例演示:
1.需求:
/etc/profile定义存储自定义系统级环境变量数据
2.创建环境变量步调:
1.编辑/etc/profile全局配置文件
#增加命令:定义变量VAR1=VAR1并导出为环境变量
#扩展:vim里面的命令模式利用G快速定位到文件末端,gg快速回到文件开头
2.重载配置文件/etc/profile,因为配置文件修改后要立即加载里面的数据,语法:
3.在Shell环境中读取系统级环境变量VAR1
4.小结:
1.系统级全局配置文件
2.设置环境变量:export var_name=value,注意:环境变量发起变量名全部大写
3.修改了/etc/profile文件后,要立即加载修改的数据必要重载配置文件:source /etc/profile
2.Shell环境变量深入:加载流程原理介绍
1.目标:
1.可以或许说出交互式Shell与非交互式Shell
2.可以或许说出登录Shell与非登录Shell环境
2.Shell工作环境介绍:
用户进入Linux系统就会初始化Shell环境,这个环境会加载全局配置文件和用户个人配置文件中的环境变量,每个脚本文件都有本身的Shell环境
3.Shell工作环境分类:
1、交互式与非交互式shell:
1.交互式Shell
与用户举行交互、互动,效果就是用户输入一个命令,Shell环境立即反馈响应。
1.非交互式Shell
不必要用户到场就可以执行多个命令,好比一个脚本文件含多个命令,直接执行并给出结果。
2、登录Shell与非登录Shell环境:
1.Shell登录环境:
必要用户名\密码登录的Shell环境
2.Shell非登录环境:
不必要用户名\密码进入的Shell环境或执行脚本文件
注意:不同工作环境加载环境变量的流程不一样
3、环境变量初始化流程:
1.全局配置文件
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
2.个人配置文件
当前用户/.bash_profile
当前用户/.bashrc
环境变量加载初始化过程:
一样平常环境下都是直接针对全局配置举行操作
4、小结:
1.可以或许说出交互式Shell与非交互式Shell
交互式:必要用户到场互动的Shell环境,输入一个命令,环境就立即响应反馈结果
非交互式:只执行命令,不必要用户的到场
2.可以或许说出登录Shell与非登录Shell环境
Shell登录环境:必要用户名\密码登录的Shell环境。
Shell非登录环境:不必要用户名\密码进入的Shell环境或执行脚本文件。
3.Shell环境变量深入:加载流程测试
1、目标:
1.明白Shell环境变量的加载流程测试
2.可以或许知道环境变量应该配置在哪里
2、切换Shell环境执行脚本文件介绍:
在执行一个脚本文件时可以指定详细Shell环境举行执行脚本文件,这个就是切换Shell环境执行脚本。
1.Shell登录环境执行脚本文件语法:
- sh/bash -l/--login 脚本文件
- #含义:先加载Shell登录环境流程初始化环境变量,再执行脚本文件
复制代码 2.Shell非登录环境变量执行脚本文件语法:
- bash #加载Shell非登录环境
- sh/bash 脚本文件 #直接执行脚本文件
- #含义:先执行加载Shell非登录环境流程初始化环境变量,再执行脚本文件
复制代码 3、测试案例:
1.需求:
Shell登录环境会运行/etc/profile
Shell非登录环境会运行/.bashrc
在/etc/profile与当前用户/.bashrc文件分别设置环境变量数据,然后在shell脚本文件中输出环境变量数据,末了切换不同环境执行shell脚本文件观察验证上面的流程运行
2.分析:
1.清理工作,清理/etc/profile文件中VAR1环境变量举行删除,并且重载文件
2.编辑/etc/profile,增加环境变量VAR1=VAR1
3.编辑/root/.bashrc,增加环境变量VAR2=VAR2
4.创建demo1.sh文件,读取环境变量数据举行打印
#输出环境变量VAR1
#输出环境变量VAR2
5.以Shell非登录环境执行demo1.sh脚本文件,观察只会输出VAR2,不会输出VAR1
6.以Shell登录环境执行demo1.sh脚本文件,观察会输出VAR1和VAR2
4、小结:
1.Shel环境变量初始化加载原理过程:
1.shell登录环境初始化过程:
/etc/profile--》/etc/profile.d/*.sh--》~/.bash_profile--》~/.bashrc.》/etc/bashrc
2.shell非登录环境初始化过程:
~/.bashrc--》/etc/bashrc--》/etc/profile.d/*sh
2.那么以到底将环境变量定义到哪里呢?/etc/profile与/etc/bashrc的区别?
必要登录的执行的shel脚本读取的环境变量配置在:/etc/profile、/当前用户/.bash profile不必要登录的用户执行的shell脚本读取的环境变量配置在:/当前用户/.bashrc、/etc/bashrc
4.Shell环境变量深入:识别与切换Shell环境类型
1、目标:
明白如何识别Shell登录环境与非登录环境。
2、语法:
-bash为登录环境、bash为非登录环境。
3、切换环境方式1:
语法1:
- su 用户名 --login
- 或
- su 用户名 -l
- #切换到指定用户,加载Shell登录环境变量
复制代码
语法2:
- su 用户名
- #切换到指定用户,加载Shell非登录环境变量
复制代码
4、切换环境方式2:
语法1:
语法2:
- bash -l Shell脚本文件 / bash --login Shell脚本文件
- sh -l Shell脚本文件 / sh --login Shell脚本文件
- #先加载Shell登录环境,任何运行指定的Shell脚本文件
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |