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

Linux之环境变量

目录

Linux之环境变量

分类

环境变量

定义

设置环境变量

设置环境变量(永久)

        用户环境变量配置所在文件:

        全局环境变量配置所在文件:

显示与取消环境变量

        通过echo或printf打印环境变量

        通过env或set显示默认的环境变量

        用 unset 消除本地变量和环境变量

环境变量初始化与对应文件的生效顺序

普通变量

定义

定义本地变量


Linux之环境变量

分类

        环境变量(全局变量)和普通变量(局部变量)

环境变量

定义

        环境变量一般是指用 export 内置命令导出的变量 ,用于定义 Shell 的运行环境,保证 Shell 命令的正确执行,Shell 通过环境变量来确定 登录用户名 命令路径 终端类型 登录目录 等, 所有的环境变量都是系统全局变量 ,可用于所有子进程中,这包括编辑器、Shell 脚本和各类应用。
        环境变量可以在 命令行中 设置和创建,但用户 退出o命令时 这些 变量值就会丢失 ,因此,如果希望永久保存环境变量,可在用户家目录下的 .bash_profile .bashrc (非用户登录模式特有,例如远程SSH)文件中,或者全 局配置 /etc/bashrc (非用户登录模式特有,例如远程 SSH )或 /etc/profile文件 中定义,在将环境变量放入上述的文件中后,每次用户登录时这些变量都将被初始化。
        按照系统规范,所有 环境变量的名字均采用大写形式 ,在将环境变量应用于用户进程程序之前,都应该用 expirt 命令导出定义,例如:正确的环境变量定义方法为 exprot OLDGIRL=1

设置环境变量

        如果想要设置环境变量,就要在给变量赋值之后或在设置变量时使用 export 命令 ,另外,除了 export命令 。带 -x 选项的 declare 内置命令 也可以完成同样的功能(注意:此处不要再前面加 $
export 命令和 declare 命令的格式如下:
        export 变量名 =value
        变量名=value ; export 变量名
        declare -x 变量名 =value

设置环境变量(永久)

用户环境变量配置所在文件:

[redhat8a@localhost ~]$ ls ~/.bashrc  --- 优先在此文件中配置[redhat8a@localhost ~]$ ls ~/.bash_profile

 全局环境变量配置所在文件:

[redhat8a@localhost ~]$ ls /etc/profile [redhat8a@localhost ~]$ ls /etc/bashrc [redhat8a@localhost ~]$ ls /etc/profile.d/

注意:
        若要在登陆后 初始化或显示加载内容 ,则把脚本文件放在 /etc/profile.d/ 下即可(无需加载执行权限)

显示与取消环境变量

通过echo或printf打印环境变量

通过env或set显示默认的环境变量

[redhat8a@localhost ~]$ env

[redhat8a@localhost ~]$ set
[redhat8a@localhost ~]$ declare | head

  unset 消除本地变量和环境变量

[redhat8a@localhost ~]$ echo $USER
[redhat8a@localhost ~]$ unset $USER
[redhat8a@localhost ~]$ echo $USER

环境变量初始化与对应文件的生效顺序

        在登录Linux 系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中 查找环境变量的设置 ,这些文件可统称为 系统环境文件 ,bash 检查的环境变量文件的情况取决于系统运行 Shell 的方式,系统运行 Shell 的方式有 3 种。
  1. 通过系统用户登录后默认运行的 Shell
  2. 非登录交互式运行 Shell
  3. 执行脚本运行非交互式 Shell

普通变量

定义

        普通变量 --- 为局部变量,只能在创建它们的Shell 函数或 Shell 脚本中使用,普通变量一般由开发者在开发脚本程序时创建

定义本地变量

变量的赋值,一般有五种写法:
        name=value
        name1='value'
        name_2="value"
        _name_3=`cmd`
        _na_me_4=$(cmd)

相关文章:

Linux之环境变量

目录 Linux之环境变量 分类 环境变量 定义 设置环境变量 设置环境变量(永久) 用户环境变量配置所在文件: 全局环境变量配置所在文件: 显示与取消环境变量 通过echo或printf打印环境变量 通过env或set显示默认的环境变量 用 …...

python带你制作自动点赞小程序,让我看看谁还在呆呆的手动点赞

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 知识点: 动态数据抓包 requests发送请求 开发环境: 代码所使用软件工具: python 3.8 >>>>>> 运行代码 pycharm 2022.3 >>>>>> 辅助敲代码 需下载的第三方模块&a…...

shell脚本编写辅助命令

目录 一、echo 命令 二、字符串相关操作 1.截取字符串 2.获取字符串长度 3.字符串追加字符 4.从开头或结尾删除字符串指定格式内容 三、随机数 1.使用 $RANDOM 2.指定RANDOM变量的范围 (1)从0开始的范围 (2)从指定数始…...

高并发编程:线程池

一、概述 线程池首先有几个接口先了解第一个是Executor,第二个是ExecutorService,在后面才是线程池的一个使用ThreadPoolExecutor。 二、Executor Executor看它的名字也能理解,执行者,所以他有一个方法叫执行,那么执…...

微信小程序开发uni-app-8分钟上手开发

本篇文章uni-app微信小程序开发-8分钟上手开发 -首先到微信小程序官网登录/注册微信小程序 微信小程序官网 uni-app 微信小程序 注册微信小程序 这里要注意: 激活邮箱之后,选择主体类型为 “个人类型”,并按要求登记主体信息。主体信息提…...

【C++11】 initializer_list | 右值引用 | 移动构造 | 完美转发

文章目录 1. 统一的列表初始化{ } 初始化initializer_list 2. 引用左值引用右值引用左值引用与右值引用的相互转换右值引用的真正使用场景移动构造 C98与C11传值返回问题注意事项总结 3. 完美转发 1. 统一的列表初始化 { } 初始化 C11 扩大了括号括起的列表(初始化列表)的使用…...

基于html+css的图展示122

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…...

《Unix环境高级编程》/bin/sh: ./fixup.awk: Permission denied

我的代码是从http://www.apuebook.com/code3e.html下载的,先是在 使用cat /etc/redhat-release看到操作系统是CentOS Linux 7.6,使用uname -r看到内核是3.10.0-957.el7.x86_64。 在代码顶级目录下,执行make。 发现报错: ./fi…...

万字长文+示例代码详解DDD中常用的架构(含代码示例)

目录 分层架构(Layered Architecture) 概念 示例代码 总结 领域驱动设计的六边形架构(Hexagonal Architecture) 概念 示例代码 总结 CQRS(Command Query Responsibility Segregation) 概念 示例…...

Debezium UI On ECS编译安装及开放Web访问

1. 访问debezium-ui的代码仓库,下载源码 GitHub - debezium/debezium-ui: A web UI for Debezium; Please log issues at https://issues.redhat.com/browse/DBZ. 2. 解压zip源码包: TEST[hadoopshdcvfsla1894 ~]$ cd /data/module TEST[hadoopshd…...

【支付系统】核心支付流程

支付在产品中常见的用处为购买和充值.这两种功能操作大相径庭,其中购买相对充值多了很多步骤,它需要锁商品或者库存,还需要超时未支付取消订单等操作.在这篇文章中主要探讨支付部分,属于购买和充值公共部分. 下面是绘制的简易支付时序图 以上时序图并非完整,其实核心步骤就是, …...

电脑系统可以直接备份到其它硬盘上吗

在日常使用电脑的过程中,我们都希望能够保护好重要的系统数据,以防止意外数据丢失或系统崩溃。那么,能否将电脑系统直接备份到其他硬盘上呢?本文将为您解答这个问题,并探讨备份系统的方法和注意事项。 工具/原料&…...

springboot项目如何优雅停机

文章目录 前言kill -9 pid的危害如何优雅的停机理论步骤优雅方式1、kill -15 pid 命令停机2、ApplicationContext close停机3、actuator shutdown 停机4、ApplicationListener 监听延时停机 前言 相信很多同学都会用Kill -9 PID来杀死进程,如果用在我们微服务项目里…...

springboot mybatis-plus 代码生成工具

介绍 基于mybatis-plus代码生成工具 后续会不断完善 规划 后续会基于此功能搞低代码平台,会有前端VUE mybatis-plus介绍&特性 • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 • 损耗小&#xff1…...

超全、超详细的Redis学习笔记总结

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…...

Day05 04-MySQL分库分表介绍

文章目录 第十七章 MySQL分库分表17.1 什么是分库分表17.2 为什么要分库分表17.3 垂直切分17.3.1 垂直分库17.3.2 垂直分表 17.4 水平切分17.4.1 水平分库17.4.2 水平分表17.4.3 常见的水平切分规则 第十七章 MySQL分库分表 17.1 什么是分库分表 MySQL数据库常见的优化方案中…...

基于SpringBoot+vue的毕业生信息招聘平台设计和实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…...

git一定要学会,加油

gitgit文档http://file:///F:/%E8%B5%84%E6%96%99%E5%A4%8D%E4%B9%A0/Git%E4%BC%98%E7%A7%80%E5%BC%80%E6%BA%90%E4%B9%A6%E7%B1%8D/Git%E5%BC%80%E6%BA%90%E4%B9%A6%E7%B1%8D/Pro%20Git%E4%B8%AD%E6%96%87PDF%E7%89%88.pdf init 初始化仓库 这个命令在当前目录下初始化一个 G…...

TVM面试题

1、TVM中的调度器(Scheduler)是什么?请简要解释TVM调度器的作用和工作原理。 TVM中的调度器(Scheduler)是负责将计算图映射到特定硬件目标上的组件。调度器在TVM中起着关键的作用,它决定了计算图的执行方式、并行化策略以及内存布局等,以优化…...

CSS相关面试题

1、标准盒子模型和IE怪异盒子模型? 标准盒子模型就是指的元素的宽度和高度仅包括的内容区域,不包括边框和内边距,也就是说,元素的实际宽度和高度等于内容区域的宽度和高度IE怪异盒子是指元素的高度和宽度,包括内容区域…...

工业现场部署必须知道的4个硬指标:FPS≥35、首帧<80ms、内存≤1.2GB、MTBF≥180天(附实测数据白皮书)

第一章:工业现场Python视觉部署的硬指标体系解析在工业现场,Python视觉系统并非仅关注算法精度,其落地成败高度依赖一系列可量化的硬性工程指标。这些指标直接决定系统能否在严苛的产线环境中长期稳定运行,涵盖实时性、鲁棒性、资…...

如何在普通PC上低成本部署Qwen3?VLLM轻量化配置指南

如何在普通PC上低成本部署Qwen3?VLLM轻量化配置指南 对于大多数个人开发者和小型团队来说,高性能服务器和顶级显卡往往是可望而不可及的奢侈品。但别担心,即使你只有一台普通PC,也能通过合理的配置和优化手段成功部署Qwen3这样的大…...

Triton内存管理完全解析:共享内存与缓存策略

Triton内存管理完全解析:共享内存与缓存策略 【免费下载链接】triton Development repository for the Triton language and compiler 项目地址: https://gitcode.com/GitHub_Trending/tri/triton Triton语言和编译器作为深度学习计算的关键基础设施&#xf…...

PCB画板时的层数设置

在PCB设计领域,当我们说“几层板”的时候,指的就是电气层的数量(也就是导电的铜箔层数)。助焊层、阻焊层、丝印层、钻孔图这些,虽然也叫“层”,但它们是非电气层(或称辅助层)&#x…...

提示工程架构师进阶之路:AI提示设计用户体验的无障碍设计指南

提示工程架构师进阶:AI提示设计的无障碍体验指南——让每一句交互都“触手可及” 摘要:为什么你的AI提示,可能把16%的用户拒之门外? 清晨7点,张阿姨对着手机里的AI助手说:“帮我订张下周三去闺女家的火车票。” 助手回复:“请提供具体的出发地、目的地及日期。” 张阿…...

嵌入式NMEA-0183零内存分配解析器设计与实现

1. NMEA-0183 协议解析库深度技术解析:面向嵌入式系统的轻量级、零内存分配实现 NMEA-0183(National Marine Electronics Association 0183)是全球航海电子设备事实上的标准通信协议,自1983年发布以来,已广泛应用于GPS…...

3大突破!MiroFish群体智能引擎如何重构分布式协作系统?

3大突破!MiroFish群体智能引擎如何重构分布式协作系统? 【免费下载链接】MiroFish A Simple and Universal Swarm Intelligence Engine, Predicting Anything. 简洁通用的群体智能引擎,预测万物 项目地址: https://gitcode.com/GitHub_Tren…...

SEO_从基础到进阶的SEO完整优化方案介绍

SEO基础:理解SEO的核心概念和基本原则 在当今互联网时代,SEO(搜索引擎优化)是每个网站拥有良好流量和高曝光度的关键。本文将从基础到进阶,为你介绍一个完整的SEO优化方案。我们将一步步深入了解SEO的核心概念和基本原…...

网页设计毕业设计选题指南:从零构建一个响应式个人作品集网站

作为一名即将毕业的计算机相关专业学生,你是否正为“网页设计”这门课的毕业设计选题而头疼?选题太简单,显得没技术含量;选题太复杂,又怕自己搞不定,最后做出一个只能在老师电脑上运行的“演示即崩溃”项目…...

英特尔Linux处理器微码更新:保障系统安全与稳定的关键指南

英特尔Linux处理器微码更新:保障系统安全与稳定的关键指南 【免费下载链接】Intel-Linux-Processor-Microcode-Data-Files 项目地址: https://gitcode.com/gh_mirrors/in/Intel-Linux-Processor-Microcode-Data-Files Intel Linux Processor Microcode Data…...