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

export在linux中的作用

在某些项目中常常使用export命令。该命令的作用是设置环境变量,并且该环境变量为当前shell进程与其启动的子进程共享。

export MODEL_NAME="stable-diffusion-v1-4"

比如以上命令,如果不采用export,设置的变量仅在当前shell命令/进程中有效。子进程则无效

子进程
一个进程有唯一的进程标识符(PID),当一个进程创建一个进程时,被创建的进程称之为子进程

举例
如果使用 VAR=“Hello” 而不使用 export VAR=“Hello”,该变量会被设置为一个局部变量(也叫做 shell 变量),仅在当前 shell 会话中可见。后续在同一个 shell 会话中执行的命令和脚本都可以访问这个变量,但如果启动一个新的子进程(例如运行另一个脚本或程序),这个子进程将无法访问该变量。
例如,以下命令在同一个 shell 会话中执行:

VAR="Hello"
echo $VAR

输出将是 Hello,因为 VAR 在同一个会话中是可见的。
但是,如果在设置了 VAR 变量后,运行另一个脚本或程序:

VAR="Hello"
./some_script.sh

在 some_script.sh 中无法访问 VAR,因为 VAR 是局部变量。要让子进程也能访问 VAR,必须使用 export 命令:

export VAR="Hello"
./some_script.sh

这样,VAR 就会成为一个环境变量,并且 some_script.sh 脚本及其他子进程都可以访问它。总结来说,不使用 export,局部变量只在当前 shell 会话中有效,不会继承到子进程中;使用 export,变量会成为环境变量,可以被子进程继承。

取消export
如果取消VAR变量,可以使用以下方式

unset VAR 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 音视频入门基础:WAV专题(3)——FFmpeg源码中,判断某文件是否为WAV音频文件的实现
  • 决策树算法介绍:原理与案例实现
  • 线性代数|机器学习-P25线性规划和两人零和博弈
  • Linux 动静态库
  • 13.2 MongoDB
  • git连接远程仓库
  • VS2019打开《喜缺全书算法册》附带代码的方法
  • java Collections.singletonList方法介绍
  • 全网最详细的postman接口测试教程,一篇文章满足你
  • 流量录制与回放:jvm-sandbox-repeater工具详解
  • 将控制台内容输出到文本文件
  • HarmonyOS 质量、测试、上架速浏
  • Redis 7.x 系列【30】集群管理命令
  • Android中集成前端页面探索(Capacitor 或 Cordova 插件)待完善......
  • Hadoop 重要监控指标
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • Android 控件背景颜色处理
  • DataBase in Android
  • ES学习笔记(12)--Symbol
  • flask接收请求并推入栈
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • in typeof instanceof ===这些运算符有什么作用
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • js写一个简单的选项卡
  • Solarized Scheme
  • Unix命令
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue学习第二天
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 百度小程序遇到的问题
  • 给github项目添加CI badge
  • 记录:CentOS7.2配置LNMP环境记录
  • 聚簇索引和非聚簇索引
  • 前端攻城师
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 小程序 setData 学问多
  • 智能合约开发环境搭建及Hello World合约
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​水经微图Web1.5.0版即将上线
  • ###C语言程序设计-----C语言学习(6)#
  • #pragma预处理命令
  • (1)Nginx简介和安装教程
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (23)Linux的软硬连接
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (三)elasticsearch 源码之启动流程分析
  • (原)Matlab的svmtrain和svmclassify
  • (原)本想说脏话,奈何已放下
  • (转)创业家杂志:UCWEB天使第一步
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .htaccess配置常用技巧
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net mvc总结
  • .net 调用海康SDK以及常见的坑解释