Linux:导出环境变量命令export
相关阅读
Linux
https://blog.csdn.net/weixin_45791458/category_12234591.html?spm=1001.2014.3001.5482
Linux中的内建命令export命令用于创建一个环境变量,或将一个普通变量导出为环境变量,并且在这个过程中,可以给该环境变量赋值。
下面是该命令的语法。
用法:
export [-pfn] [name[=word]]
选项:
-p 指定该选项会打印出当前进程的所有环境变量(被导出的变量)及其值
-f 指定导出一个函数名
-n 取消一个环境变量(被导出的变量)或导出函数的导出属性
环境变量(被导出的变量)指的是一类特殊的变量,当一个进程开辟了其他进程后,它们会被子进程继承,系统默认的环境变量一般使用大写变量名,后面我们统称环境变量。例如$SHELL这个环境变量就存储了用户默认登录的Shell路径,可以使用echo命令查看一个环境变量的值。
[***@EDA ~]$ echo $SHELL
/bin/bash
使用export命令而不添加name参数会导致和使用-p选项一样的结果,即打印出当前进程的所有环境变量及其值。
[***@EDA ~]$ export
declare -x SHELL="/bin/bash"
declare -x WINDOWPATH="1"
declare -x KDEDIRS="/usr"
declare -x LANG="en_US.UTF-8"
declare -x PrimeTime_HOME="/opt/Synopsys/PrimeTime2018/pts/O-2018.06-SP1"
declare -x Synopsys_Dir="/opt/Synopsys"
*****[***@EDA ~]$ export -p
declare -x SHELL="/bin/bash"
declare -x WINDOWPATH="1"
declare -x KDEDIRS="/usr"
declare -x LANG="en_US.UTF-8"
declare -x PrimeTime_HOME="/opt/Synopsys/PrimeTime2018/pts/O-2018.06-SP1"
declare -x Synopsys_Dir="/opt/Synopsys"
*****
一个进程中定义的普通的变量是无法被其子进程访问到的。
[***@EDA ~]$ aaa=1 #在当前进程创建一个变量
[***@EDA ~]$ bash #在当前进程运行另一个bash子进程
[***@EDA ~]$ echo $aaa #此时尝试访问$aaa失败
(nothing output)
一个进程中的环境变量可以被子进程继承。
[***@EDA ~]$ bbb=1 #在当前进程创建一个变量
[***@EDA ~]$ export bbb #导出该变量(使其成为环境变量)
[***@EDA ~]$ bash #在当前进程运行另一个bash子进程
[***@EDA ~]$ echo $bbb #此时尝试访问$bbb成功
1
为什么我们不使用系统默认环境变量举例呢?这是因为即使我们改变了系统默认环境变量的值, 在新建bash子进程时,虽然其继承了父进程的环境变量,但其会自动读取配置文件初始化环境变量,从而覆盖之前改变的值。
[***@EDA ~]$ SHELL=1 #改变系统默认环境变量
[***@EDA ~]$ echo $SHELL #在当前进程中,环境变量的值被改变
1
[***@EDA ~]$ export #在当前进程中,环境变量的值被改变
*****
declare -x SHELL="1"
*****
[***@EDA ~]$ bash #在当前进程运行另一个bash子进程
[***@EDA ~]$ echo $SHELL #环境变量的值虽然被继承,但紧接着初始化了
/bin/bash
使用-n选项可以取消一个环境变量的导出属性,即将一个环境变量变成普通变量。
[***@EDA ~]$ ccc=1 #在当前进程创建一个变量
[***@EDA ~]$ export ccc #导出该变量(使其成为环境变量)
[***@EDA ~]$ bash #在当前进程运行另一个bash子进程
[***@EDA ~]$ echo $ccc #此时尝试访问$ccc成功
1
[***@EDA ~]$ exit #退出bash子进程
[***@EDA ~]$ export -n ccc #取消变量导出(使其成为普通变量)
[***@EDA ~]$ echo $ccc #当前进程仍可以访问
[***@EDA ~]$ bash #在当前进程运行另一个bash子进程
[***@EDA ~]$ echo $ccc #此时尝试访问$ccc失败
(nothing output)
使用-f选项可以导出一个函数,使该函数能在子进程中调用。
[***@EDA ~]$ my_function() { #在当前进程创建一个函数
> echo "This is my function."
> }
[***@EDA ~]$ export -f my_function #导出该函数
[***@EDA ~]$ bash
[***@EDA ~]$ my_function
This is my function.
由于.bashrc配置文件的内容会在bash启动后被读取并执行,所以如果要添加一个默认的环境变量,需要在配置文件中使用export命令,如下图所示。

相关文章:
Linux:导出环境变量命令export
相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的内建命令export命令用于创建一个环境变量,或将一个普通变量导出为环境变量,并且在这个过程中,可以给该环境变量赋值。 下面…...
案例--某站视频爬取
众所周知,某站的视频是: 由视频和音频分开的。 所以我们进行获取,需要分别获得它的音频和视频数据,然后进行音视频合并。 这么多年了,某站还是老样子,只要加个防盗链就能绕过。(防止403…...
清华把大模型用于城市规划,回龙观和大红门地区成研究对象
引言:参与式城市规划的新篇章 随着城市化的不断推进,传统的城市规划方法面临着越来越多的挑战。这些方法往往需要大量的时间和人力,且严重依赖于经验丰富的城市规划师。为了应对这些挑战,参与式城市规划应运而生,它强…...
Vue+SpringBoot打造创意工坊双创管理系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 管理员端2.2 Web 端2.3 移动端 三、系统展示四、核心代码4.1 查询项目4.2 移动端新增团队4.3 查询讲座4.4 讲座收藏4.5 小程序登录 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的创意工坊双创管理…...
Web框架开发-Django简介
一、MVC和MTV模型 MVC 所谓MVC就是把web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的,松耦合的方式连接在一起,模型负责业务对象与数据库…...
VB播放器(动态服务器获取歌词)-183-(代码+说明)
转载地址: http://www.3q2008.com/soft/search.asp?keyword183 VBASP vb动态从服务器读取歌词 VB asp交互 程序, 模式不一样, 与普通的MP3播放器不一样, 这个是可以实现歌词从服务器上查询功能的. 看好了在咨询 我可以給您演示 目 录 前 言 1 1 . 简述 2 1.1 开发…...
java-可变参数
可变参数是什么? 可变参数就是指传入的参数个数是可变的,不是固定的 为什么要可变参数? 当我们要传入大量的形参时,我们就可以用到可变参数了 定义格式 数据类型...变量名; 例如int ...a; 可变参数的细节: &…...
嵌入式学习day37 数据结构
1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开数据库文件(创建一个数据库连接) 参数: filename:数据库文…...
嵌入式学习39-程序创建数据库及查找
1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开 数据库文件(创建一个数据库连接) 参数: filename: …...
科研三维模型高精度三维扫描服务3d逆向测绘建模工业产品抄数设计
三维抄数技术在科研三维模型的应用已经日益广泛,其高精度、高效率的特点使得科研工作者能够更快速、更准确地获取和分析数据。这一技术的核心在于通过专业的三维扫描仪对实物进行高精度测量,再将这些数据转化为三维数字模型,为后续的研究提供…...
【LeetCode热题100】141. 环形链表(链表)
一.题目要求 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置…...
express+mysql+vue,从零搭建一个商城管理系统11--使用Sequelize
提示:学习express,搭建管理系统 文章目录 前言一、安装sequelize和mysql2二、修改config/db.js三、修改models/user.js,models/shop.js,models/goods.js四、新建dao/user.js,dao/shop.js,dao/goods.js五、修…...
霹雳学习笔记——6.1 ResNet网络结构、BN以及迁移学习
一、ResNet结构 ResNet是一个突破一千层的网络架构。主要是卷积层Conv和池化层的堆叠。但是普通的堆叠会使得错误率更高,如下图所述,这是因为会产生梯度消失/梯度爆炸等。(梯度就是增量,有大小有方向) 解决方法&#…...
Gitee的注册和代码提交(附有下载链接)
目录 一、Git的下载和安装二、安装图形化界面工具三、在Gitee上创建仓库四、如何把仓库开源五、Clone远程仓库到本地六、拷贝代码到本地的仓库七、Add-Commit-Push到远程仓库八、可能出现的问题8.1 建议在本地仓库直接创建项目8.2 第一次Push可能出现的问题8.3 怎么删除Gitee上…...
机器学习是什么?
机器学习是一种人工智能(AI)的分支,其主要目标是使计算机系统能够通过数据和经验来改进和学习,而无需明确地编程。在机器学习中,计算机系统会通过对大量数据进行学习和分析,从中发现模式和规律,…...
复盘-PPT
调整PPT编号起始页码在设计→幻灯片大小 设置所有以及文本项目符号 ## 打开母版,找到对应级别设置重置 当自动生成的smartart图形不符合预期时 1 2...
springcloud gateway网关动态配置限流
上一篇记录了gateway网关的基础功能和配置,并且使用了默认的限流功能。 springcloud gateway网关-CSDN博客 这里简单记录一下gateway网关集成mybatisPlus实现动态限流。gateway网关默认的限流方式各项限流参数都是在配置文件中配置,不够灵活࿰…...
在Linux/Ubuntu/Debian中使用windows应用程序/软件
Wine 是一个兼容层,允许你在类 Unix 操作系统(包括 Ubuntu)上运行 Windows 应用程序。 以下是在 Ubuntu 上安装和使用 Wine 的基本步骤: 在 Ubuntu 上安装 Wine: 更新软件包列表: 打开终端并运行以下命令以…...
idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页
一、源码特点 springboot 组卷管理系统是一套完善的完整信息系统,结合mvc框架和LayUI框架完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整…...
wordpress主题批量修改历史文章标题,文章内容
:wordpress模板,在我映像中还是比较受欢迎的,至少它该有的插件都是应有尽有,不像帝国cms虽然功能多,但是基本用不上,而且很多会出错。也不像织梦cms漏洞太多,搞的建站期间出现很多其他事情&am…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
