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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于JSP的毕业生就业信息管理系统

你好,我是专注于信息系统开发的码农小野!如果你对毕业生就业信息管理有需求,欢迎联系我。 开发语言:JSP 数据库:MySQL 技术:JSP技术 SSM框架 工具:Eclipse、Maven、Navicat 系统展示 首页…

nhdeep电子档案长期保存系统

nhdeep电子档案长期保存系统,用于导入管理系统中的著录项信息,并安装档案相关规范,转换为适合长期保存的电子文件格式和封装包结构,进行管理和存储。 著录信息列表页面,用于导入著录项,挂接原文文件&#…

【漏洞复现】CmsEasy crossall_act.php SQL注入漏洞

漏洞描述 CmsEasy存在SQL注入漏洞,通过文件service.php加密SQL语句执行即可执行任何SQL命令 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资…

protobuf2.5升级protobuf3.14.0

这个升级搞得心力憔悴,我VS2010升级到了VS2017,所有的库都要编译一下,想着顺便把其他的三方库也升级了。搞了好几天,才升级完,因为不仅要搞windows还要搞linux版本各种库的升级。hpsocket的升级,jsoncpp的升…

pve笔记

配置显卡直通参考 https://blog.csdn.net/m0_59148723/article/details/130923893 https://foxi.buduanwang.vip/virtualization/pve/561.html/ https://www.cnblogs.com/MAENESA/p/18005241 https://www.wangsansan.com/archives/181/ pve配置显卡直通到虚拟机后,…

LLM 大语言模型显存消耗估计与计算

LLM 大语言模型显存消耗估计与计算 1. LLM 大语言模型开发流程 在大模型(如 LLaMA-7B、GPT-3 等)的开发、训练、微调、推理和部署过程中,各个阶段的流程都涉及多个复杂的步骤。以下是详细的流程描述,涵盖训练和微调的区别&#…

机器学习 第7章-贝叶斯分类器

机器学习 第7章-贝叶斯分类器 7.1 贝叶斯决策论 贝叶斯决策论(Bayesian decision theory)是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。下面我…

Transformer,注意力机制。

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

流媒体服务器二:RTMP协议详解 以及 RTMP学习到什么程度算是合格?

一个问题? 在上一节我们使用SRS搭建了RTMP环境,那么在企业开发中,是否使用第三方的RTMP服务器(例如上一节的SRS)就可以了呢?或者说:作为一个音视频开发人员,就会配置就OK了呢&#…

深入理解ESM、CJS与IIFE:JavaScript模块化的三大主流范式

随着JavaScript生态的不断发展,模块化成为了前端开发不可或缺的一部分。它允许开发者将大型的程序拆分成小块,便于管理和复用。在JavaScript中,主要有三种模块化标准:ES Modules(ESM)、CommonJS&#xff08…

JavaFX布局-TilePane

JavaFX布局-TilePane 常用属性alignmenttileAlignmentorientationhgapvgappadding 实现方式Javafxml 自动排列其子节点成网格状根据容器的大小以及子节点的数量和大小自动计算最佳的排列方式推荐子节点固定大小,参差不齐的子节点,效果很诡异 常用属性 …

普元EOS学习笔记-某些版本的EOS提供的maven获取依赖失败的问题解决

前言 普元EOS的开发包中,提供了maven,因为EOS项目的某些依赖只能从普元官方仓库获取,因此,编译EOS项目必须使用EOS提供的maven。 maven拉取依赖失败 某些版本的EOS提供的maven在编译EOS项目的时候会出现拉取失败的现象。 [FATA…

Docker 安装 Redis 单机集群总结

前言 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于 内存 、 分布式 、可选持久性的键值对( Key-Value )存储数据库 redis版本:redis:6.2.13作者:易墨 安装单机版 安装源:DockerHub 默认配置文件:配…

安装Keil5 MDK

文章目录 前言一、安装Keil5 MDK 软件以及器件支持包1. 器件支持包离线安装方式2. 器件支持包在线安装方式 二、软件注册三、驱动安装1. 安装STLINK驱动2. 安装USB转串口驱动 前言 提示:本文主要用作在学习江协科大STM32入门教程后做的归纳总结笔记,旨在…

Maven引入与打包指定目录下的第三方sdk

针对远程仓库没有的jar包&#xff0c;应该如何引入与打包&#xff1f; 1、deploy到远程仓库 申请账号与权限&#xff0c;使用mvn deploy命令发布到远程仓库或者是私有仓库。 1、在Maven的conf/settings.xml文件配置远程仓库的认证信息 <settings><!-- 配置远程仓库…

Linux网络编程之TCP

文章目录 Linux网络编程之TCP1、TCP协议的简单认识2、TCP网络编程接口2.1、socket2.2、bind2.3、listen2.4、accept2.5、connect 3、简单的TCP网络程序3.1、服务器响应程序3.2、服务器执行命令行 4、TCP客户端connect断线重连5、应用层自定义协议以及序列化和反序列化 Linux网络…

springboot整合 knife4j 接口文档

第一步&#xff1a;引入依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency> 第二步&#xff1a;写入配置 方…

探究Eureka服务发现机制对延迟敏感型应用的影响

引言 在现代微服务架构中&#xff0c;服务发现是实现服务间动态交互的关键组件。Eureka作为Netflix开源的服务发现框架&#xff0c;被广泛应用于Spring Cloud体系中。然而&#xff0c;对于延迟敏感型应用来说&#xff0c;服务发现机制的性能直接影响到用户体验。本文将探讨Eur…

【数据库远程连接】pycharm中相同局域网下连接别人的数据库 测试代码 不用navicat

import mysql.connector from mysql.connector import Errordef test_database_connection():try:# 连接到远程 MySQL 数据库connection mysql.connector.connect(host192.168.xxx.xxx,port3306, #数据库一般都是3306userxxx, # 替换为你的数据库用户名passwordxxxxxx, # 替…