Linux进阶:环境变量

环境变量是一组信息记录,类型是KeyValue型(名=值),用于操作系统运行的时候记录关键信息.

env命令:查看系统全部的环境变量

语法:env

$符号:取出指定的环境变量的值

语法:$变量名

示例:

echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC。如果变量名和其它内容混淆在一起,可以使用${}

PATH变量

  • 环境变量PATH会记录一组目录,目录之间用:隔开。

    • 这里记录的是命令的搜索路径,当执行命令时会从记录中的目录中逐个搜索要执行的命令并执行。
  • 可以通过修改这个项目的值,加入自定义的命令搜索路径。如:export PATH=$PATH:自定义路径

注意 :修改PATH时,必须添加$PATH,否则变成了使用自定义路径覆盖PATH的值,而不是给PATH中添加值

PATH变量使用说明

使用cd指令运行说明PATH作用:

无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,就是借助环境变量中:PATH这个项目的值来做到的。

  • 查看PATH变量:env | grep PATHPATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/adailly/.local/bin:/home/adailly/bin

  • PATH记录了系统执行任何命令的搜索路径,如上(路径之间以:隔开):

    • /usr/local/bin
    • /usr/bin
    • /usr/local/sbin
    • /usr/sbin
    • /home/adailly/.local/bin
    • /home/adailly/bin
  • 当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体。

  • 执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行。

  • 可通过which cd 查找到cd指令的执行文件路径:/usr/bin/cd

修改环境变量

  • 临时设置,语法:export 变量名=变量值
  • 永久生效
    • 针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
    • 针对所有用户生效,配置在系统的: /etc/profile文件中
    • 配置完成,通过:source 配置文件,进行立刻生效,或重新登录生效

自定义修改环境变量

环境变量PATH这个项目里面记录了系统执行命令的搜索路径。

这些搜索路径我们也可以自行添加到PATH中去。

测试:

  • 在当前HOME目录内创建文件夹myenv,在文件夹内创建文件mkhello
  • 通过vim编辑器,在mkhello文件内填入:echo hello
  • 完成上述操作后,随意切换工作目录,执行mkhello命令尝试一下,会发现无法执行

修改PATH的值:

  • 临时修改PATHexport PATH=$PATH:/home/user/myenv,再次执行mkhello,则在任何地方都可以执行
  • 或将export PATH=$PATH:/home/user/myenv,填入用户环境变量文件或系统环境变量文件中去。
  • 执行source环境变量文件,则在任何地方都可以执行
相关推荐
愿天垂怜34 分钟前
【C++脚手架】gtest 单元测试库的介绍与使用
linux·服务器·c++·gitee·前端框架·gtest
农民小飞侠1 小时前
SandboxFusion搭建教程
linux·ubuntu
晚风吹红霞1 小时前
Vim编辑器从入门到熟练 —— 三种模式与常用命令详解
linux·编辑器·vim
蚰蜒螟2 小时前
从mkdir命令到磁盘:Linux内核目录创建过程深度解析
linux·运维·数据库
coward913 小时前
Linux内核驱动初始化流程认识(关于late_initcall和modul_init驱动初始化宏差异)
linux·嵌入式硬件
modelmd3 小时前
Linux man 命令详解:从入门到精通
linux
SWAGGY..3 小时前
Linux系统编程:(十一)进程状态&&Linux中的僵尸状态
linux·服务器·编辑器·vim
洵有兮3 小时前
Shell 脚本编程学习总结(基础 + 变量 + 条件 + 流程控制 + 函数数组)
linux·学习
我命由我123453 小时前
SEO 与 GEO 极简理解
java·linux·运维·开发语言·学习·算法·运维开发
楼兰公子3 小时前
RK3588 Linux驱动开发大纲
linux·驱动开发