当前位置: 首页 > 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怪异盒子是指元素的高度和宽度,包括内容区域…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

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 抗噪声…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...