Linux常用环境变量PATH

Linux常用环境变量

      • 一、常用的默认的shell环境变量
      • 二、环境变量 PATH
      • 三、持久化修改环境变量
      • 四、常用的环境变量

一、常用的默认的shell环境变量

1、当我们在shell命令行属于一个命令,shell解释器去解释这个命令的时候,需要先找到这个命令.
找到命令有两种方式

  • 要么你告诉shell这个命令的具体位置。即使用绝对路径运行。

  • 要么放在shell 默认的存放命令的地方。即命令放在PATH环境变量的路径下面。

  • 好比我们要去读一篇文章,先找到这篇文章才能去读它,要么告诉明明白白告诉你在哪里。
    如果没告诉你,你就自己找,你可能就在书桌上找,再去书包里找,再去别的地方,但是一定在你平时放书的地方,不可能去你都不知道的地方去找 。而shell在去执行命令的时候,如果不是通过决定路径去执行,就只会去PATH这个变量的路径下去找这个执行命令的程序 。

二、环境变量 PATH

1、PATH 环境变量定义了用于进行命令和程序查找的目录。这个是我们常用的一个环境变量。
在这里插入图片描述

2、 PATH 中的目录使用冒号分隔,如果命令或者程序的位置没有包括在PATH 变量中,又不使用绝对路径的话,shell是没法找到的。如果shell找不到指定的命令或程序,
它会产生一个错误信息:

在这里插入图片描述

  • 我们只需引用原来的PATH 值,然后再给这个字符串添加新目录就行了,添加环境变量的方式如下
PATH=$PATH:/home/zmx    
  • 这样的话,搜索命令也会在/home/zmx这个文件下搜索了,你的程序放在这个位置可以被执行到了。
    3、 如果希望子shell也能找到你的程序的位置,一定要记得把修改后的PATH 环境变量导出。

# 假设你想添加 /my/new/path 到你的 PATH 变量  
export PATH=$PATH:/my/new/path      

4、 我们可以把当前路径加入环境变量的话,可以使用单点符,通过单点符号把当前目录 加入PATH 环境变量。

    PATH=$PATH:.
  • 这样我们在当前目录运行文件的时候,就可以直接调用了, 否则要使用bash 文件名或者 ./文件名 这种方式来运行

在这里插入图片描述

5、以上的对PATH 变量的修改只能持续到退出或重启系统。这种效果并不能一直持续。优点就是我们不会搞乱了系统的变量,但缺点也很明显,就是每次打开新的shell界面,需要重新配置这个环境变量,最常用的是
$HOME/.bashrc这个文件 。在这个文件里添加自己想要的环境变量。

三、持久化修改环境变量

1、启动shell的几种方式
在你登入Linux系统启动一个bash shell时,默认情况下bash会在几个文件中查找命令。这些文件叫作启动文件 或环境文件 。bash检查的启动文件取决于你启动bash shell的方式。启动bash shell有3种方式:

  • 登录时作为默认登录shell
  • 作为非登录shell的交互式shell
  • 作为运行脚本的非交互shell
    我们不用过多关注这些,只需要知道,这三种方式,有着不同的启动方式,我们需要获取到每次启动会自动调用的shell文件,把我们需要的环境变量,写入到里面就行。最常用的就是上面说的 $HOME/.bashrc这个文件这个$ HOEM 就是 ~ 。
  • 我们下面只讨论第一种,默认登录shell

2、登录时作为默认登录shell
当你登录Linux系统时,bash shell会作为登录shell启动。登录shell会从5 个不同的启动文件里读取命令:

  • /etc/profile
  • $HOME/.bash_profile
  • $HOME/.bashrc
  • $HOME/.bash_login
  • $HOME/.profile

3、shell默认启动的重点文件

  • /etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件。下图查看里面的内容

在这里插入图片描述

所以我们可以把想要执行的程序,或者环境变量写成文件,放在etc/profile.d目录下

在这里插入图片描述

其余4个文件 在$HOME目录下不一定都存在,如果存在,就按下面图的顺序,运行第一个被找打的文件,余下的都被忽略。

在这里插入图片描述

需要注意的是,这个执行顺序里面不涉及 .bashrc这个文件,因为这个文件通常通过其它几个文件运行。如下图:
在这里插入图片描述
在这里插入图片描述
可以看出找到的运行的.profile文件的内容,是运行.bashrc这个文件,所以我们常用的添加默认环境变量,就放在这个文件夹里。

四、常用的环境变量

在这里插入图片描述

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

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

相关文章

统信UOS上鼠标右键菜单中添加自定义内容

原文链接:统信UOS上鼠标右键菜单中添加自定义内容 Hello,大家好啊!今天给大家带来一篇关于在统信UOS桌面操作系统上鼠标右键菜单中添加自定义内容的文章。通过自定义鼠标右键菜单,可以大大提升日常操作的效率和便捷性。本文将详细…

面向对象修炼手册(四)(多态与空间分配)(Java宝典)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀面向对象修炼手册 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 1 多态 1.1 多态的形式&…

节省一个小目标,电手官方一键「傻瓜式」重装系统

大伙儿下午好,这是一篇负收益的广子。 没错,电手上线了重装 Windows 系统的工具类软件。 和我们顶头老大傲梅分区助手一样,不含捆绑,上手简单,完全免费,用爱发电。 众所周知,微软对于系统的更…

韩顺平0基础学java——第30天

p600-611 坦克大战! 艰难推进中 坦克大战-子弹 发射子弹 1.当发射一颗子弹后,就相当于启动一个线程 2.玩家拥有子弹对象,当按下J时,就启动发射行为(线程),让子弹不停移动,形成…

最新!计算机类SCI期刊全名单!你想发的顶刊都在这里

【SciencePub学术】近日,2023JCR正式发布,最受瞩目就是各类期刊的最新影响因子排名,本期,小编对计算机类的期刊做了一个整理,供计算机方向的研究学者们参考! 来源:WOS数据库官网 完整名单 ※ 本…

离线安装docker-v26.1.4,compose-v2.27.0

目录 ​编辑 1.我给大家准备好了提取即可 2.安装docker和compose 3.解压 4.切换目录 5.执行脚本 6.卸载docker和compose 7.执行命令 “如果您在解决类似问题时也遇到了困难,希望我的经验分享对您有所帮助。如果您有任何疑问或者想分享您的经历,…

投屏软件免费版有没有?十款好用的手机投屏软件(2024更新)

“我想将手机免费投屏到电脑上,但是不知道怎么操作?有哪些图片软件免费版可以帮我解决这个问题吗?”在互联网时代,投屏软件的应用越来越广泛,使我们能够方便地将手机、平板等设备的内容投射到更大的屏幕上,…

Linux 网络:网卡 promiscuous 模式疑云

文章目录 1. 前言2. 问题场景3. 问题定位和分析4. 参考资料 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 问题场景 调试 Marvell 88E6320 时,发现 eth0 出人意料的进入了 promis…

在Ubuntu上安装Python3

安装 python3 pip sudo apt -y install python3 python3-pip升级 pip python3 -m pip install --upgrade pip验证查看版本 python3 --version

LabVIEW技术交流-控件的禁用属性与Mouse Up事件的一个坑

问题来源 我们平时对控件Mouse Up事件触发使用场景不多,可能在按钮控件上会偶尔用到。在一些场景中,我们用按钮的Mouse Up触发事件,但是又希望在某些限制条件下,按钮会被禁用而不能触发事件。 可是当我们禁用按钮时,它…

第三十一篇——大数据1:从四个特征把握大数据的本质

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 大数据的特征,如果我们没有一个清晰的边界以及明确的定位&…

grpc学习golang版( 四、多服务示例)

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写Client客户端五、测试六、示例代码 一、前言 多服务,即一个rpc提供多个服务给外界调用…

大语言模型(LLM)LangChain介绍

LangChain是一个利用大语言模型的能力开发各种下游应用的开源框架,它的核心理念是为各种大语言模型应用实现通用的接口,简化大语言模型应用的开发难度,主要的模块示意图为: Index:提供了各类文档导入、文本拆分、文本向…

STM32中五个时钟源:HSI、HSE、LSI、LSE、PLL

时钟系统是处理器的核心,或者说时钟是单片机的心脏。 1.单片机内部需要储存器、累加器,这些都需要逻辑门电路。比如锁存器就是一个D触发器,而触发器的置1、清0、置数的功能都需要跳变沿。D触发器就是上升沿后存入数据,而这个上升…

SAP CO11N BAPI_PRODORDCONF_CREATE_TT连续报工异步更新导致COGI解决方案

背景: 之前上一个项目上有同事碰到一个问题,外围接口数据进入SAP,可能会对同一工单同一工序进行连续多次报工,并且工序控制码配置的是会自动货物移动的,所以正常来说,调用完BAPI完之后除了报工数量会更新之…

需求之 实现获取调试信息在h5页面,在手机端可以查看调试(二)

事实证明 chatgpt很好用,有不懂的问题可以问它 https://zhuanlan.zhihu.com/p/690118775 国内外9个免费的ChatGPT网站 我筛选出来的比较好用免费的网站 fchat.dykyzdh.cn/ 这个也可以 阿里云的 通义灵码 在vscode中安装使用 而且阿里云有一个产品,可以…

我用过最好的GPT,NewspaceGPT使用心得

记住网址:https://newspace.ai0.cn 前言 只要你能表达明白,NewspaceGPT就不会让你失望。 Gpt4o预测GPT5 IT之家6月22日消息,在美国达特茅斯工程学院周四公布的采访中,OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布&…

MATLAB | 怎样绘制这样的环形柱状图

Hey, 各位又是好久不见,最近忙到后台消息都有些来不及看,非常抱歉,今天带来一个环形柱状图绘制的简易小代码,绘制效果如下: 下面直接给出完整代码,替换一下数据即可,代码都有注释的: 完整代码 …

PID理解

一、背景 pid理解 前几天看了bilibili的视频,链接:更好的理解PID【通过推小车的过程】,那个人使用matlab调整pid,另外使用推小车这个假设来解释pid。我其实当时也只是听懂一些,然后后面自己又琢磨。感觉是理解了。这…

python--fasApi学习(Dash+FastAPI框架)

在学习fastApi 框架时,发现了一个好用的框架,参考: 博客参考: https://blog.csdn.net/gitblog_00002/article/details/137331157下载文档并部署: 下载代码: git clone https://gitee.com/insistence2022/…