1,Linux环境变量基本定义(基于Ubuntu示例进行讲解)

news2025/1/19 3:44:40

linux环境变量的概念

Linux环境变量(准确说应该是shell变量),是直接存储在操作系统中的一组键值对(dict类型),用于配置系统和应用程序的操作行为。

【有经验的描述】:它们的工作原理很简单,就比如说你本地运行一个python项目,是不是可以在app.run()方法运行之前就预加载一系列变量,该项目运行期间,这些变量在任何地方都能够调用,每一个函数中都能够获取这些变量,函数中根据自己需要将不同操作行为对应到变量的不同值上(看具体情况了)。

【描述】同理,Linux环境变量就是在系统启动时由操作系统设置【系统变量】,或者在运行程序程序时由用户或程序本身设置【环境变量,作用域只在当前程序内生效】。

环境变量对于控制程序执行、访问系统资源、配置程序设置等非常重要。

环境变量基础操作

  • 如下bash语句创建demo_temp变量(!bash shell是一种命令行解释器嗷, 以下简称shell)
declare demo_temp
  • 如下给变量赋值(shell中的赋值操作,等号左右两边不能有空格,属语法规范)
demo_temp=qianjuanmingyun
  • 读取变量的值,固定格式:echo $变量名

echo $demo_temp

环境变量的定义域

在每一个shell终端中,该终端内创建的变量只作用于当前终端内。

(终端:举个简单的例子,你在常用的Windows系统上,同时按住win加R,在弹出的弹窗中输入cmd就打开一个终端了,多重复几次,每次打开的都是一个单独的终端,在终端内定义的变量,只要你没有专门操作当前终端变量和系统变量的命令行,那么该终端所有的变量,都将在你关闭时自动销毁)

最常用的变量类型有三种:

  1. 局部变量:当前终端自己的私有变量,【作用域】只在当前终端中有效;
  2. 环境变量:终端打开时,系统默认带过来的变量,【作用域】影响全局或当前用户;
  3. 导出的环境变量(全局变量):用户通过export从普通变量导出的环境变量,【作用域】变量在当前shell和子进程中有效。

查看三种变量类型的命令行:


# 查询全部变量,包括:
# - 局部变量(仅在当前会话生效)
# - 环境变量(导出的变量,当前终端及子终端生效)
# - Shell 函数(当前会话中定义的函数)
set | sort > set.txt  # 排序保存
set > set.txt         # 原始顺序保存

# 查询当前会话的环境变量(只在当前终端生效的环境变量)
env | sort > env.txt  # 排序保存
env > env.txt         # 原始顺序保存

# 查询所有导出的环境变量(在当前终端及其子终端中生效)
export | sort > export.txt  # 排序保存
export > export.txt         # 原始顺序保存

不同变量的创建方式:

# 创建普通变量(非环境变量)
temp=qianjuanmingyun

# 查看普通变量
echo $temp

# 检查是否在环境变量中(返回为空)
env | grep temp

# 导出为环境变量
export temp

# 检查是否在环境变量中(返回对应的值)
env | grep temp

变量的生存周期(永久环境变量、临时环境变量)

  • 临时环境变量:通过export命令行声明即可,该变量在当前shell终端关闭时失效;
  • 永久环境变量:通过修改系统配置文件实现,该变量将永久生效。

如需设置永久环境变量,通过修改/home/用户下的.profile文件即可。

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

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

相关文章

【Python通过UDP协议传输视频数据】(界面识别)

提示:界面识别项目 前言 随着网络通信技术的发展,视频数据的实时传输在各种场景中得到了广泛应用。UDP(User Datagram Protocol)作为一种无连接的协议,凭借其低延迟、高效率的特性,在实时性要求较高的视频…

深度学习中的张量 - 使用PyTorch进行广播和元素级操作

深度学习中的张量 - 使用PyTorch进行广播和元素级操作 元素级是什么意思? 元素级操作在神经网络编程中与张量的使用非常常见。让我们从一个元素级操作的定义开始这次讨论。 一个_元素级_操作是在两个张量之间进行的操作,它作用于各自张量中的相应元素…

几个Linux系统安装体验(续): 中科方德服务器系统

本文介绍中科方德服务器系统(NFSDesktop)的安装。 下载 下载地址: https://www.nfschina.com/index.php?catid68 下载文件:本文下载的文件名称为NFSCNS-4.0-G330-x86_64-241128.iso。 下载注意事项:无法直接下载&…

浅谈计算机网络03 | 现代网络组成

现代网络组成 一 、网络生态体系1.1网络生态系统的多元主体1.2 网络接入设施的多样类型 二、现代网络的典型体系结构解析三、高速网络技术3.1 以太网技术3.2 Wi-Fi技术的深度剖析3.2.1 应用场景的多元覆盖3.2.2 标准升级与性能提升 3.3 4G/5G蜂窝网的技术演进3.3.1 蜂窝技术的代…

JavaWeb 前端基础 html + CSS 快速入门 | 018

今日推荐语 指望别人的救赎,势必走向毁灭——波伏娃 日期 学习内容 打卡编号2025年01月17日JavaWeb 前端基础 html CSS018 前言 哈喽,我是菜鸟阿康。 今天 正式进入JavaWeb 的学习,简单学习 html CSS 这2各前端基础部分&am…

内网渗透测试工具及渗透测试安全审计方法总结

1. 内网安全检查/渗透介绍 1.1 攻击思路 有2种思路: 攻击外网服务器,获取外网服务器的权限,接着利用入侵成功的外网服务器作为跳板,攻击内网其他服务器,最后获得敏感数据,并将数据传递到攻击者&#xff0…

Git 安装 操作 命令 远程仓库 多人协作

Git作用 Git诞生史 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在…

Mockito+PowerMock+Junit单元测试

一、单元测试用途 1、日常开发团队要求规范,需要对开发需求代码进行单元测试并要求行覆盖率达到要求,DevOps流水线也会开设相关门禁阀值阻断代码提交,一般新增代码行覆盖率80%左右。 二、Mock测试介绍 1、Mock是为了解决不同的单元之间由于…

2024CVPR《HomoFormer》

这篇论文提出了一种名为HomoFormer的新型Transformer模型,用于图像阴影去除。论文的主要贡献和创新点如下: 1. 研究背景与动机 阴影去除的挑战:阴影在自然场景图像中普遍存在,影响图像质量并限制后续计算机视觉任务的性能。阴影的空间分布不均匀且模式多样,导致传统的卷积…

JavaEE之CAS

上文我们认识了许许多多的锁,此篇我们的CAS就是从上文的锁策略开展的新概念,我们来一探究竟吧 1. 什么是CAS? CAS: 全称Compare and swap,字⾯意思:“比较并交换”,⼀个CAS涉及到以下操作: 我们假设内存中…

国产编辑器EverEdit - 复制为RTF

1 复制为RTF 1.1 应用背景 在写产品手册或者其他文档时,可能会用到要将产品代码以样例的形式放到文档中,一般的文本编辑器拷贝粘贴到Word中也就是普通文本,没有语法着色,这样感观上不是太好,为了让读者的感观更好一点…

LLM - 大模型 ScallingLaws 的 C=6ND 公式推导 教程(1)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145185794 Scaling Laws (缩放法则) 是大模型领域中,用于描述 模型性能(Loss) 与 模型规模N、数据量D、计算资源C 之间关系的经验规律…

CSS认识与实践

目录 CSS 是什么 基本语法规范 引入方式 内部样式表 行内样式表 外部样式 空格规范 选择器 选择器的功能 选择器的种类 基础选择器 标签选择器 类选择器 id 选择器 通配符选择器 基础选择器小结 复合选择器 后代选择器 子选择器 并集选择器 伪类选择器 复合…

vue项目引入阿里云svg资源图标

1:生成svg图标 登录阿里云官网 1.1 创建项目组 1.2 从阿里云网站上面获取喜欢的图标加入到已有的项目组 1.3 如果团队有自己的设计师,也可以让设计师上传自己的svg图标到阿里云指定的项目组; 使用的时候,把 资源包下载到本地项…

Redis 中 TTL 的基本知识与禁用缓存键的实现策略(Java)

目录 前言1. 基本知识2. Java代码 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 单纯学习Redis可以看我前言的Java基本知识路线!! 对于Java的基本知识推荐阅读: java框架…

使用nginx搭建通用的图片代理服务器,支持http/https/重定向式图片地址

从http切换至https 许多不同ip的图片地址需要统一进行代理 部分图片地址是重定向地址 nginx配置 主站地址:https://192.168.123.100/ 主站nginx配置 server {listen 443 ssl;server_name localhost;#ssl证书ssl_certificate ../ssl/ca.crt; #私钥文件ssl_ce…

Unix 与 Linux 深度应用与对比分析

文章目录 引言Unix 与 Linux 的相似之处1. 设计理念2. 文件系统结构3. 命令行界面4. 多用户多任务支持 Unix 与 Linux 的不同之处1. 开源性2. 内核架构3. 应用场景4. 发行版 Unix 和 Linux 的开发语言1. C 语言2. 脚本语言 在 Unix 和 Linux 上开发简单应用示例1. 编写一个简单…

事务机制及Spring事务管理

事务概览 事务是一组操作的集合,它是一个不可分割的工作单位。 事务会将所有的操作作为一个整体一起向系统提交或撤销操作请求,换句话说:这些操作要么同时成功、要么同时失败。 具体案例 我们先看一个需求:现在有两张数据库表&…

48.【6】BUUCTF WEB BabySQL

进入靶场 order by 判断字节数 输入内容是 1 order by 2# 显示图片内容,知被过滤了 一般最简单的绕过方法是双写或大小写 尝试双写 It is ok continue 经过多次尝试,4时异常,所以字节数是3 union select都被过滤了 双写解决,成…

Spring6.0新特性-HTTP接口:使用@HttpExchange实现更优雅的Http客户端

文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理(1)为RestClient(2)为WebClient(3)为RestTemplate 注意 一、概述 官方文档…