shell的环境变量

news2024/11/28 16:34:36

一、什么是环境变量

       环境变量由系统提前创建的,不仅在Shell编程方面,而且在Linux系统管理方面,都起着非常重要的作用。

       打个比方,我们平时所用的编程语言如c语言,我们都会碰到变量的作用域的问题。比如在函数中 定义的变量  在  函数外 不能使用。要想函数外能使用此变量,该变量得为全局变量。

       而我们的环境变量也是如此,局部变量 和 环境变量全局变量)。当我们shell编程时,如 vim  xx.sh,编写 里面的变量 局部变量。仅在创建它的Shell中有效。而我们的环境变量对创建xx.sh 的Shell 及其 派生出来的子进程都有效。

二、环境变量存在哪里

        一般存在  ~/.bashrc  或     /etc/profile    文件当中(系统自动调用的脚本)

列出系统中所有的环境变量,可使用  env  命令

 三、常用的环境变量

       3.1 env 命令          查看环境变量    

在Shell下,用env命令查看当前用户全部的环境变量

显示了所有的环境变量,不方便查看,使用grep筛选。

      env|grep               环境变量名

例如:查看环境变量名中包含PATH的环境变量。

3.2  PATH                         设置命令的搜索路径,以冒号为分割

3.3  HOME                       当前用户主目录:/root

3.4  SHELL                       当前shell解析器类型:/bin/bash

3.5  HISTFILE                  显示当前用户执行命令的历史列表文件:/root/.bash_history

3.6  HOSTNAME              显示当前主机名:itheima

3.7  LANG                        默认设置当前系统语言环境:zh_CN.UTF-8

3.8  HOSTTYPE               显示主机的架构,是i386、i686、还是x86、x64等:x86_64

  使用环境变量,一般环境变量类似c语言中的全局变量,可以再shell脚本文件中任意使用

例子如下:

输出结果

四、自定义设置环境变量

4.1、临时设置环境变量

       什么是临时环境变量,意思就是当关闭终端或关机重启时,该临时环境变量就会被格式化掉。

4.2、设置临时环境变量

(1)例子:在终端添加临时环境变量

 打印env输出的环境变量 结果

 环境变量存在SHELLMAY=999的环境变量

注意:当我们关闭终端,或者重启,或者开另外一个终端,都不会存在刚设置的临时环境变量。

4.3、永久设置环境变量

          需要在配置文件(~/.bashrc 或 ~/etc/profile)中进行设置即可,设置完毕后需要通过
source命令配置文件立即生效。如: source  ~/etc/profile 当然, /etc/profile这个文件只有在root(超级用户)下才能修改。

 (3)例子:创建永久的ZYY=100

第一步:sudo vim  ~/etc/profile

第二步:

第三步:保存退出                        (如果不使用sudo  无法保存) 

第四步:source  ~/etc/profile

第五步:输出 env

 特此注意:

当我们再开一个终端时,使用env命令查看,是找不到  刚设置的 环境变量。

刚设置的永久环境变量是没有真正生效起来,只是使用source 命令  让它临时运行起来而已。

解决的办法:重启,问题解决

下课!!!

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

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

相关文章

新的一年软件测试行业的趋势能够更好?

如果说,2022年对于全世界来说,都是一场极大的挑战的话;那么,2023年绝对是机遇多多的一年。众所周知,随着疫情在全球范围内逐步得到控制,无论是国际还是国内的环境,都会呈现逐步回升的趋势&#…

【Redis高级-集群分片】

单机安装Redis首先需要安装Redis所需要的依赖:yum install -y gcc tclRedis安装包上传到虚拟机的任意目录:我放到了/tmp目录:解压缩:tar -zxvf /tmp/redis-6.2.4.tar.gz -C /tmp解压后:进入redis目录:cd /t…

剑指 Offer 41. 数据流中的中位数

题目 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如,[2,3,4] 的中位数是…

从零开始的python基础教程(2)

九、Python Standard Library 1、Paths from pathlib import Path# Windows Path("C:\\Program Files\\Microsoft") # Or Path(r"C:\Program Files\Microsoft")# Mac Path("/usr/local/bin")Path() # Current Path("ecommerce/__init__.py…

AXI实战(一)-为AXI总线搭建简单的仿真测试环境

AXI实战(一)-搭建简单仿真环境 看完在本文后,你将可能拥有: 一个可以仿真AXI/AXI_Lite总线的完美主端(Master)或从端(Slave)一个使用SystemVerilog仿真模块的船信体验小何的AXI实战系列开更了,以下是初定的大纲安排: 欢迎感兴趣的朋友关注并支持,以下为正文部分 文章目录…

node.js笔记-模块化(commonJS规范),包与npm(Node Package Manager)

目录 模块化 node.js中模块的分类 模块的加载方式 模块作用域 向外共享模块作用域中的成员 向外共享成员 包与npm(Node package Manager) 什么是包? 包的来源 为什么需要包? 查找和下载包 npm下载和卸载包命令 配置np…

【数据结构】二叉排序树——平衡二叉树的调整

文章目录前置概念一、构造平衡二叉树的基本思想二、一个示例三、平衡二叉树的调整细节(1)LL型(顺时针 )举例(2)RR型(逆时针)(3)LR型(先逆时针再顺…

测试左移之需求质量

测试左移的由来 缺陷的修复成本逐步升高 下面是质量领域司空见惯的一张图,看图说话,容易得出:大部分缺陷都是早期引入的,同时大部分缺陷都是中晚期发现的,而缺陷发现的越晚,其修复成本就越高。因此&#…

【Vue3 组件封装】vue3 轮播图组件封装

文章目录轮播图功能-获取数据轮播图-通用轮播图组件轮播图-数据渲染轮播图-逻辑封装轮播图功能-获取数据 目标: 基于pinia获取轮播图数据 核心代码: (1)在types/data.d.ts文件中定义轮播图数据的类型声明 // 所有接口的通用类型 export typ…

linux(centos7.6)docker

官方文档:https://docs.docker.com/engine/install/centos/1安装之前删除旧版本的docker2安装yum install-y yum-utils3配置yum源 不用官网的外国下载太慢 推荐阿里云yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.r…

笔记_js运算符

目录二进制相关运算符移位运算符<<>>&#xff5c;(位或运算)参考文档二进制相关运算符 移位运算符 移位运算就是对二进制进行有规律的移位。 tips:进制转换文档链接 << “<<”运算符执行左移位运算。在移位运算过程中&#xff0c;符号位始终保持不变…

jvm mat分析dump文件

jvm调优中&#xff0c;经常使用dump来分析是否存在大对象导致频繁full gc&#xff0c;以下为使用步骤&#xff1a;一、获得服务进程二、生成dump文件jmap -dump:formatb,filexxx.dump pid三、下载mat工具地址:https://www.eclipse.org/mat/downloads.php注意&#xff0c;12及以…

网络安全实验室5.上传关

5.上传关 1.请上传一张jpg格式的图片 url&#xff1a;http://lab1.xseclab.com/upload1_a4daf6890f1166fd88f386f098b182af/ 上传一张后缀名为jpg的图片&#xff0c;上传抓包修改后缀名为别的&#xff0c;s或者直接删掉&#xff0c;放包 得到key is IKHJL9786#$%^& 2.请…

再说多线程(六)——Thread生命周期

前面一直在用Thread介绍多线程任务&#xff0c;本节对线程类Thread的生命周期进行简单的梳理。线程状态对于一个线程来说&#xff0c;有以下几种状态&#xff1a;Unstarted(New) StateRunnable State(Ready to Run)Running StateNot Runable StateDead State这几种状态的转换关…

chatgpt国内能用的镜像与api请求样例

chatgpt去年刚出来时我就到openai注册了账号&#xff0c;必须用国外的线路才能注册&#xff0c;正常注册不了&#xff0c;注册完要用国外手机接收验证码&#xff0c;才能使用&#xff0c;我卡到验证码就没继续用了&#xff0c;昨晚&#xff0c;找了几个国内的镜像&#xff0c;用…

课程回顾|以智能之力,加速媒体生产全自动进程

本文内容整理自「智能媒体生产」系列课程第二讲&#xff1a;视频AI与智能生产制作&#xff0c;由阿里云智能视频云高级技术专家分享视频AI原理&#xff0c;AI辅助媒体生产&#xff0c;音视频智能化能力和底层原理&#xff0c;以及如何利用阿里云现有资源使用音视频AI能力。课程…

PyTorch学习笔记:nn.Sigmoid——Sigmoid激活函数

PyTorch学习笔记&#xff1a;nn.Sigmoid——Sigmoid激活函数 torch.nn.Sigmoid()功能&#xff1a;逐元素应用Sigmoid函数对数据进行激活&#xff0c;将元素归一化到区间(0,1)内 函数方程&#xff1a; Sigmoid(x)σ(x)11e−xSigmoid(x)\sigma(x)\frac1{1e^{-x}} Sigmoid(x)σ(…

基于python下selenium库实现交互式图片保存操作(批量保存浏览器中的图片)

Selenium是最广泛使用的开源Web UI&#xff08;用户界面&#xff09;自动化测试套件之一&#xff0c;可以通过编程与浏览量的交互式操作对网页进行自动化控制。基于这种操作进行数据保存操作&#xff0c;尤其是在图像数据的批量保存上占据优势。本博文基于selenium 与jupyterla…

Python基础01

Python基础 1、编程环境&#xff1a;IDLE 1.1使用 1、文件创建&#xff1a;File —> New File 2、文件打开&#xff1a;File —> Open 3、文件保存&#xff1a; File —> Save 2、输入输出 2.1输入&#xff1a;input() 语法&#xff1a;input(“想要表达的内容”…

在阿里当外包,是一种什么工作体验?

上周和在阿里做外包的朋友一起吃饭&#xff0c;朋友吃着吃着&#xff0c;就开启了吐槽模式。 他一边喝酒一边说&#xff0c;自己现在做着这份工作&#xff0c;实在看不到前途。 看他状态不佳&#xff0c;问了才知道&#xff0c;是手上的项目太磨人。 他们现在做的项目&#…