当前位置: 首页 > 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面图层
  • 陈颖已任上海黄浦区委常委、统战部部长
  • 专家分析丨乌美签署矿产协议,展现美外交困境下的无奈
  • 中国金茂向滨江集团提供11.21亿元诚意金借款,拟合作开发3月获取的地块
  • 五一去哪玩?“时代交响”音乐会解锁艺术假期
  • 抗美援朝老战士宁昭逝世,享年93岁
  • 郭向阳任广东省公安厅分管日常工作副厅长(正厅级)