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

Linux中的全局环境变量和局部环境变量

Linux中的全局环境变量和局部环境变量

      • 一、全局环境变量
      • 二、局部环境变量
      • 三、 设置全局环境变量

bash shell用一个叫作环境变量 (environment variable)的特性来存储有关shell会话和工作环境的信息(这也是它们被称作环境变量的原 因)。这项特性允许你在内存中存储数据,以便程序或shell中运行的 脚本能够轻松访问到它们。这也是存储持久数据的一种简便方法。
在bash shell中,环境变量分为两类 :

  • 全局变量
    • 全局环境变量对于shell会话和所有生成的子shell都是可见的
  • 局部变量
    • 局部变量只对创建它们的shell可见。

一、全局环境变量

1、 通过 env 这个命令可以查看系统的所有全局变量 。系统默认的全局变量名,基本都是大写的。 如果是自己创建的局部变量或是shell脚本,最好就值使用小写字母。

2、我们也可以通过echo $SHELL 或者printenv SHELL 这样的方式,来查看单个变量的值 。(SHELL是我们想知知道的变量的名字)
在这里插入图片描述

在这里插入图片描述

二、局部环境变量

1、局部环境变量只能在定义它们的进程中可见

可以通过echo $变量名 这种格式来打印出局部变量名。 或者set | grep 变量名 这种方式 ,值得注意的是env 和 printenv 这种方式只打印全局变量。在这里插入图片描述

在这里插入图片描述

2、设置局部环境变量
在shell 进程里设置环境变量的操作和給变量赋值类似,使用 一个等号就可以 my_var= hello_world,比较特别的是变量名、等号和值之间不能有空格。否则bash shell就会把值变量的值my_var当成一个单独的命令

在这里插入图片描述

3、 局部环境变量的使用范围

  • 设置了局部环境变量后,就能在shell进程的任何地方使用它了。但是,如果这个shell生成了另外一个子shell,它在子shell中就不可用。然后当你退出子shell并回到原来的shell时,这个局部环境变量依然可用

在这里插入图片描述

  • 同理,如果在子进程中设置了一个局部环境变量,那么一旦你退出了子进程,那个局部环境变量就不可用

  • 如果我们想在父shell 进程中的环境变量,可以被 子shell进程调用,那么就要把这个环境变量设置成全局环境变量

三、 设置全局环境变量

1、设置全局环境变量,是通过export 命令 来设置的,比如:
export my_var="I am Global now"
或者分两步

my_var="I am Global now"    
export  my_var    

2、 设置完成后,我们在子进程中也可以使用这个全局环境变量了。
但是有注意的点是 ,如果我们在父进程里设置全局变量,子进程可以使用,但是子进程设置的全局变量,父进程是没办法调用的。全局环境变量也只能是从父到子传这种场景如下:

3、当父shell定义一个全局环境变量,在子shell中,这个全局环境变量被重新定义了一次,退出子shell, 这个全局环境变量还是之前的值。

在这里插入图片描述

4、 删除环境变量

删除环境变量我们使用unset + 变量名 .我们在读取变量的时候要加上$这个提取符号。
在这里插入图片描述
总结:

  • 1、环境变量的设置有两种,一种就是普通的給变量赋值是我们说的局部变量赋值,另一种是全局环境变量赋值。
  • 2、 无论哪种,子进程的值,父进程是无法读取到的,同样也无法改变。
  • 3、子进程和父进程里非全局环境变量,都是相互独立的(进程之间资源不共享)。
  • 4、 子进程如果想要读取到父进程的值,需要设置成全局环境变量。
  • 5、子进程中可以对全局环境变量重新定义,改变,删除,但是影响不到父进程里的全局环境变量。

相关文章:

Linux中的全局环境变量和局部环境变量

Linux中的全局环境变量和局部环境变量 一、全局环境变量二、局部环境变量三、 设置全局环境变量 bash shell用一个叫作环境变量 (environment variable)的特性来存储有关shell会话和工作环境的信息(这也是它们被称作环境变量的原 因&#xff…...

【研究】AI大模型需要什么样的硬件?

关注AI大模型 x 硬件的两条思路 从22年11月OpenAI推出ChatGPT至今,我们看到Chatbot应用的能力不断增强,从最初的文字问答,迅速向具有自主记忆、推理、规划和执行的全自动能力的AI Agent发展。我们认为端侧智能是大模型发展的重要分支。建议投…...

人工智能--自然语言处理NLP概述

欢迎来到 Papicatch的博客 目录 🍉引言 🍈基本概念 🍈核心技术 🍈常用模型和方法 🍈应用领域 🍈挑战和未来发展 🍉案例分析 🍈机器翻译中的BERT模型 🍈情感分析在…...

基于Java微信小程序火锅店点餐系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…...

SpringCloud_GateWay服务网关

网关作用 Gateway网关是我们服务的守门神,所有微服务的统一入口。 网关的核心功能特性: 请求路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务&a…...

使用Dropout大幅优化PyTorch模型,实现图像识别

大家好,在机器学习模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络时,过拟合具体表现在模型训练数据损失函数较小,预测准确率较高,但是在测…...

Vue3中的常见组件通信(超详细版)

Vue3中的常见组件通信 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs4. 默认…...

Stm32的DMA的学习

一,介绍 二,DMA框图 三,DMA通道 四,相关HAL库函数 五,配置DMA 六,Stm32CubeMX配置 【13.1】减少CPU传输负载 DMA直接存储器访问—Kevin带你读《STM32Cube高效开发教程基础篇》_哔哩哔哩_bilibili...

应用安全(补充)

Nessus是目前全世界最多人使用的系统漏洞扫描与分析软件。NMAP是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。X-SCAN安全漏洞扫描工具AppScan是IBM的一款web安全扫描工具,可以利用爬虫技术进行网站安全渗透测试,根据网站入口自…...

鸿蒙开发Ability Kit(程序框架服务):【FA模型切换Stage模型指导】 app和deviceConfig的切换

app和deviceConfig的切换 为了便于开发者维护应用级别的属性配置,Stage模型将config.json中的app和deviceConfig标签提取到了app.json5中进行配置,并对部分标签名称进行了修改,具体差异见下表。 表1 配置文件app标签差异对比 配置项FA模型…...

通过命令行配置调整KVM的虚拟网络

正文共:1234 字 20 图,预估阅读时间:2 分钟 在上篇文章中(最小化安装的CentOS7部署KVM虚拟机),我们介绍了如何在最小化安装的CentOS 7系统中部署KVM组件和相关软件包。因为没有GUI图形界面,我们…...

Apache POI操作excel

第1部分:引言 1.1 Apache POI简介 Apache POI是一个开源的Java库,用于处理Microsoft Office文档。自2001年首次发布以来,它已经成为Java社区中处理Office文档事实上的标准。Apache POI支持HSSF(用于旧版本的Excel格式&#xff0…...

Python错误集锦:faker模块生成xml文件时提示:`xml` requires the `xmltodict` Python library

原文链接:http://www.juzicode.com/python-error-faker-exceptions-unsupportedfeature-xml-requires-the-xmltodict-python-library 错误提示: faker模块生成xml文件时提示: xml requires the xmltodict Python library Traceback (most r…...

Vue3-尚硅谷笔记

1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…...

RockChip Android12 System之MultipleUsers

一:概述 System中的MultipleUsers不同于其他Preference采用system_dashboard_fragment.xml文件进行加载,而是采用自身独立的xml文件user_settings.xml加载。 二:Multiple Users 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name="S…...

第12天:前端集成与Django后端 - 用户认证与状态管理

第12天&#xff1a;前端集成与Django后端 - 用户认证与状态管理 目标 整合Django后端与Vue.js前端&#xff0c;实现用户认证和应用状态管理。 任务概览 设置Django后端用户认证。创建Vue.js前端应用。使用Vuex进行状态管理。实现前端与后端的用户认证流程。 详细步骤 1. …...

在ROS2中蓝牙崩溃的原因分析

在ROS2中&#xff0c;如果蓝牙模块没有成功启动&#xff0c;可能的原因有几个方面&#xff1a; 1. **硬件问题**&#xff1a;首先需要确认蓝牙硬件本身是否正常工作&#xff0c;包括检查蓝牙模块是否正确连接到系统&#xff0c;以及模块是否存在物理损坏。 2. **驱动问题**&a…...

【PythonWeb开发】Flask中间件钩子函数实现封IP

在 Flask 框架中&#xff0c; 提供了几种类型的钩子&#xff08;类似于Django的中间件&#xff09;&#xff0c;它们是在请求的不同阶段自动调用的函数。这些钩子让你能够对请求和响应的处理流程进行扩展&#xff0c;而无需修改核心代码。 Flask钩子的四种类型 before_first_r…...

可以一键生成热点营销视频的工具,建议收藏

在当今的商业环境中&#xff0c;热点营销已经成为了一种非常重要的营销策略。那么&#xff0c;什么是热点营销呢&#xff1f;又怎么做热点营销视频呢&#xff1f; 最近高考成绩慢慢公布了&#xff0c;领导让结合“高考成绩公布”这个热点&#xff0c;做一个关于企业或产品的营销…...

Unity Meta Quest 开发:关闭 MR 应用的安全边界

社区链接&#xff1a; SpatialXR社区&#xff1a;完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 &#x1f4d5;教程说明 这期教程我将介绍如何在应用中关闭 Quest 系统的安全边界。 视频讲解&#xff1a; https://www.bilibili.com/video/BV1Gm42157Zi &#x1…...

ChatGPT Web:5分钟快速搭建你的专属AI聊天室

ChatGPT Web&#xff1a;5分钟快速搭建你的专属AI聊天室 【免费下载链接】chatgpt-web A third-party ChatGPT Web UI page built with Express and Vue3, through the official OpenAI completion API. / 用 Express 和 Vue3 搭建的第三方 ChatGPT 前端页面, 基于 OpenAI 官方…...

【信息科学与工程学】信息科学领域工程——第二篇 材料工程10 光学材料 (1) (光通信必学必会)

表1:光学材料知识库 第一部分:光学基础理论与数学模型 编号 算法/策略名称和伪代码/数学方程式 核心数学描述/规律 关键参数/变量 物理/化学/工程意义/控制目标 典型应用场景 优点与局限 关联知识连接点 1.1.1 麦克斯韦方程组 ∇D = ρ_f ∇B = 0 ∇E = -∂B/∂t ∇…...

2026年南京本地实测整理,值得入手的高性价比全屋定制品牌推荐

讲真&#xff0c;南京准备装房子、换柜子的姊妹们、老少爷们&#xff0c;谁没为全屋定制头大过&#xff1f;刚收了江北核心区的新房&#xff0c;还是鼓楼老破小准备翻新&#xff0c;跑了三五家门店就会发现&#xff1a;水太深了&#xff01;低价套餐勾你进去&#xff0c;签约后…...

Spek音频频谱分析器:3分钟掌握专业音频分析技术

Spek音频频谱分析器&#xff1a;3分钟掌握专业音频分析技术 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek 音频频谱分析是理解音频文件内在结构的关键技术&#xff0c;而Spek正是这一领域的专业工具。这款免费开…...

你的显卡真的在干活吗?Pycharm里用这行代码快速验证PyTorch GPU加速是否生效

你的显卡真的在干活吗&#xff1f;Pycharm里用这行代码快速验证PyTorch GPU加速是否生效 当你在Pycharm中完成了PyTorch GPU版的安装&#xff0c;torch.cuda.is_available()也返回了True&#xff0c;是否就意味着GPU加速已经完美运行&#xff1f;现实情况往往比这复杂得多。很多…...

LZ4并行压缩:线程池设计与性能瓶颈突破的终极指南

LZ4并行压缩&#xff1a;线程池设计与性能瓶颈突破的终极指南 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 LZ4作为一款Extremely Fast Compression algorithm&#xff0c;其并行压缩能力是提升处…...

告别卡顿!在Ubuntu 22.04 LTS上丝滑安装Burp Suite 2024.1(附国内源加速配置)

在Ubuntu 22.04 LTS上极速安装Burp Suite 2024.1的终极指南 每次启动Burp Suite都要等上几分钟&#xff1f;运行过程中频繁卡顿甚至崩溃&#xff1f;如果你正在使用Ubuntu 22.04 LTS或更新的版本&#xff0c;很可能是因为还在沿用那些针对Ubuntu 18.04的过时教程。本文将带你彻…...

终极指南:如何构建React Native Navigation企业级应用的架构设计经验

终极指南&#xff1a;如何构建React Native Navigation企业级应用的架构设计经验 【免费下载链接】react-native-navigation A complete native navigation solution for React Native 项目地址: https://gitcode.com/gh_mirrors/re/react-native-navigation React Nati…...

两轮车租赁数字化升级:从物联网架构到运营效率提升

1. 两轮车租赁模式升级&#xff1a;从传统痛点看数字化解决方案最近和几个在欧洲做短途出行和即时配送的朋友聊天&#xff0c;大家不约而同地提到了一个趋势&#xff1a;两轮车&#xff0c;特别是电动两轮车的租赁市场&#xff0c;正在经历一场静悄悄但深刻的模式升级。这背后&…...

5分钟掌握Mermaid CLI:用代码生成专业图表的高效方法

5分钟掌握Mermaid CLI&#xff1a;用代码生成专业图表的高效方法 【免费下载链接】mermaid-cli Command line tool for the Mermaid library 项目地址: https://gitcode.com/gh_mirrors/me/mermaid-cli 在技术文档和架构设计中&#xff0c;图表是不可或缺的沟通工具。Me…...