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环境变量文件,则在任何地方都可以执行
相关推荐
go_bai29 分钟前
Linux环境基础开发工具——(2)vim
linux·开发语言·经验分享·笔记·vim·学习方法
这儿有一堆花2 小时前
Kali Linux 2025.1a:主题焕新与树莓派支持的深度解析
linux·运维·服务器
Kusunoki_D2 小时前
使用 VIM 编辑器对文件进行编辑
linux·编辑器·vim
东方佑6 小时前
自动调整PPT文本框内容:防止溢出并智能截断文本
linux·运维·powerpoint
zhougl9966 小时前
html处理Base文件流
linux·前端·html
泥土编程8 小时前
kubekey -实现懒人一键部署K8S集群
linux·运维
wirepuller_king11 小时前
创建Linux虚拟环境并远程连接,finalshell自定义壁纸
linux·运维·服务器
在野靡生.11 小时前
Ansible(1)—— Ansible 概述
linux·运维·ansible
风123456789~11 小时前
【Linux运维】查询指定日期的上月
linux·运维·服务器