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环境变量文件,则在任何地方都可以执行
相关推荐
pluvium272 分钟前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员7 分钟前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
CHHC18801 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
云栖梦泽2 小时前
Linux内核与驱动:9.Linux 驱动 API 封装
linux·c++
si莉亚3 小时前
ROS2安装EVO工具包
linux·开发语言·c++·开源
Tingjct3 小时前
Linux常用指令
linux·运维·服务器
广州灵眸科技有限公司4 小时前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
IT界的老黄牛4 小时前
Linux 压缩命令实战:tar、gzip、bzip2、xz、zstd 怎么选?一篇讲清楚
linux·运维·服务器
IT WorryFree4 小时前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
12345,catch a tiger4 小时前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu