当前位置: 首页 > news >正文

环境变量与本地变量

目录

本地变量的创建

环境变量VS本地变量


认识完了环境变量我们来认识一下本地变量。

本地变量的创建

我们如果直接env是看不到本地变量的,因为本地变量和环境变量都具有独立性,环境变量是系统提供的具有全局属性的变量,都存在bash进程的env表中,而本地变量由于是独立存在的,所以在bash进程中肯定也存在存储本地变量的表,

本地变量是在shell内部自己维护的只给shell自己使用的,操作系统自己要看懂这些本地变量还需要借助bash解释器。

那我们怎么看到呢,使用set指令就可以了,本地变量我们也是自己创建的,也是可以在shell上使用的。

我们平时的创建变量就是在创建本地变量了,如下。

这里切记=前面后面不要有空格,同样本地变量也可以使用echo+$解析,接着set一下看有没有在里面,发现果然变量a,b,c全部成了本地变量了。

那本地变量虽然是独立的,但是可以使用export进行转化成环境变量,但是这个过程实际上没有什么实际意义。

export支持赋值了再转化。

环境变量VS本地变量

环境变量是可以被子进程继承的,下面代码演示证明:

我们首次运行可得这个CODE不是环境变量。

然后我们设置CODE为环境变量,请看。

然后环境变量是可以被解除的,使用unset就可以解除环境变量。

可以看出是子进程code继承了环境变量并解析其中的意思来做了if的判断,而由于本地变量没有被子进程继承到才陷入了死循环。

除了可以使用env环境变量表可以直接查看所有的环境变量,使用指向环境变量表的environ指针也可以间接访问全部的环境变量。

最后,环境变量可以被所有的bash之后的进程看到,所以环境变量具有全局属性,为什么呢,原因如下两点:

1。系统的配置信息,尤其是具有指导性的配置信息,他是系统配置的一种表现

2。进程具有独立性!环境变量可以用来进程间传递只读数据,所以环境变量具有全局性

相关文章:

  • 【Python】迭代器与生成器详解(可迭代对象、定义、实现方式、区别、使用场景)
  • ROS 2机器人开发--第一个节点
  • 数据中心储能蓄电池状态监测管理系统 组成架构介绍
  • 网络协议相关知识有哪些?
  • linux进程的内存空间映射(段)
  • Spring Boot 常用注解详解
  • 宠物行业研究系列报告
  • 在大数据分析中如何选择合适的算法和模型
  • 黑马点评—短信登陆商户查询缓存
  • C++:使用 SFML 创建强化学习迷宫场景
  • JAVA EE初阶 JVM
  • nginx作为下载服务器配置
  • FPGA开发要学些什么?如何快速入门?
  • 第8章作业
  • Nginx知识详解(理论+实战更易懂)
  • 【十一】Golang 指针
  • 免费开源多平台轻量级本地视频工具,支持Windows、Android
  • 面试知识点2
  • Android 11.0 WiFi连接默认设置静态IP地址功能实现
  • mapbox基础,使用geojson加载Fill面图层
  • 稳就业稳经济五方面若干举措将成熟一项出台一项
  • 最高法专门规范涉企案件审执工作:从源头防止趋利性执法司法
  • “一对一讨论诸多事宜”,泽连斯基披露此次特泽会更多细节
  • 出国留学、来华留学呈现双增新趋势,“00后留学生个性鲜明”
  • 金隅集团:今年拿地将选择核心热门地块,稳健审慎投资
  • 电厂 | 京东、美团为什么抢着为你送外卖?