首页 > 运维 > linux运维 > 正文

【Linux】环境变量常见指令操作&基本实验(入门必看!)

雪夜
发布: 2025-07-19 10:34:02
原创
997人浏览过

【linux】环境变量常见指令操作&基本实验(入门必看!)

一.环境变量基本概念(博主简要概述) 系统中存在大量环境变量,每个变量都有其特定用途,用于实现特定的系统功能。环境变量被所有子进程继承,通常可以被所有进程读取,因此称为“系统环境变量通常具有全局属性”。【本地变量与环境变量的区别】本地变量仅在bash进程内部有效,不会被子进程继承。环境变量通过被所有子进程继承的方式,实现其全局性!【Linux命令分类&内建命令可读取本地变量】常规命令:由shell fork出的子进程执行。内建命令:shell命令行的一个函数,可以直接读取shell内部定义的本地变量。例如,我们清空PATH环境变量,echo仍然能运行,因为echo是内建命令。

【Linux】环境变量常见指令操作&基本实验(入门必看!)

二.常见环境变量介绍 PATH : 指定命令的搜索路径。 HOME : 指定用户的主工作目录(即用户登陆到Linux系统时,默认的目录)。 SHELL : 当前Shell,其值通常是/bin/bash。

三.环境变量的组织方式:环境表(main函数的第三个参数) 我们登录系统时,系统会为shell创建一张环境变量表。

【Linux】环境变量常见指令操作&基本实验(入门必看!)

main函数其实有第三个参数char* env[],即环境变量表的指针数组。我们使用自动化构建工具makefile构建如下程序,执行程序,打印出结果,正是所有的环境变量(与env指令打印出来的一致)。

int main(int argc, char* argv[], char* env[]){
    int i = 0;
    for (; env[i]; i++){
        printf("env[%d]: %s\n", i, env[i]);
    }
}
登录后复制

四.环境变量相关的【基本操作指令】(以PATH举例) 1.指令总览 echo $NAME //NAME:你的环境变量名称 : 显示某个环境变量值。 export : 设置一个新的环境变量。 env : 显示所有环境变量。 unset : 清除环境变量。 set : 显示本地定义的shell变量和环境变量。

2.env:获取环境变量 env :直接查看环境变量。

env
登录后复制

【Linux】环境变量常见指令操作&基本实验(入门必看!)

3.environ(全局指针):获取环境变量 environ是一个二级指针,libc中定义的全局变量,environ指向环境变量表。environ没有包含在任何头文件中,因此在使用时需要用extern声明。

【Linux】环境变量常见指令操作&基本实验(入门必看!)

int main(int argc, char* argv[]){
    extern char** environ;
    int i = 0;
    for (; environ[i]; i++){
        printf("%s \n", environ[i]);
    }
    return 0;
}
登录后复制

4.echo $PATH echo PATH :直接打印环境变量PATH名字。 echo $PATH :打印PATH的位置。

echo PATH
echo $PATH
登录后复制

【Linux】环境变量常见指令操作&基本实验(入门必看!)

5.PATH=xxxxxxxxx (覆盖) / PATH=$PATH:xxxxxxxxx(追加) (操作对象:指定环境变量) 如下图所示,用' '覆盖了原来的PATH,echo的结果是空。

【Linux】环境变量常见指令操作&基本实验(入门必看!)

注意事项:覆盖修改的只是内存中的环境变量,重新登录xshell它会自动恢复(每一次重新登陆,都会给我们形成新的bash解释器,并且新的bash解释器会从配置文件自动读取新建自己的环境变量表信息)。

6.export(导出到环境变量表中)(重点) 具体实验在四章节。 export :直接改变bash/shell环境变量本身,添加到当前进程上下文的环境变量表中,重新登录xshell会恢复。

注意事项:修改的只是内存中的环境变量,重新登录xshell它会自动恢复(每一次重新登陆,都会给我们形成新的bash解释器,并且新的bash解释器会从配置文件自动读取新建自己的环境变量表信息)。

先见AI
先见AI

数据为基,先见未见

先见AI 95
查看详情 先见AI
export xx=12345
登录后复制

五.环境变量实验 1.环境变量PATH实验:让我们写的程序和系统自带指令一样执行。 系统会在环境变量里进行路径搜索,系统会提供系统默认自带的程序的路径(PATH环境变量)。当我们执行操作时,系统会直接去环境变量PATH中检索我们对应的可执行程序。环境变量的本质:程序安装。指令也是程序,我们写的也是程序,为什么我们要带./?回答:因为我们写的程序的路径没有保存到PATH环境变量中,系统无法沿着路径找到并执行程序。我们通过 PATH=$PATH:xxxxxxxxx(追加),把mytouch的路径添加到环境变量中,可以看到我们让我们的程序和系统自带指令一样执行。

【Linux】环境变量常见指令操作&基本实验(入门必看!)【Linux】环境变量常见指令操作&基本实验(入门必看!)

2.环境变量HOME实验:用户识别原理 输入用户名&密码认证形成许多环境变量(PATH,HOME,SHELL等等)。根据用户名,会初始化环境变量HOME(家目录:HOME=/root,HOME=/home/XXX)。执行 cd $HOME, 进入家目录/根目录。

【Linux】环境变量常见指令操作&基本实验(入门必看!)

3.环境变量实验:让我们修改的环境变量在每次登陆时都存在(更改配置文件)(重点) export :直接改变bash/shell环境变量本身。我们知道,命令行解释器启动的进程都是shell/bash的子进程,子进程的命令行参数和环境变量都是父进程bash给我们传递的!内存中的环境变量,重新登录xshell它会自动恢复。这是因为:每一次重新登陆,都会给我们形成新的bash解释器并且新的bash解释器会从父进程bash的配置文件自动读取新建自己的环境变量表信息(隐藏)。配置文件名称.bash_profile

【Linux】环境变量常见指令操作&基本实验(入门必看!)

用vim进入配置文件.bash_profile

vim ~/.bash_profile
登录后复制

注:把多个命令写到一个文件中,这就是shell脚本;启动shell时,会从上到下挨个执行命令,进行配置。

【Linux】环境变量常见指令操作&基本实验(入门必看!)

每一次重新登陆,都会给我们形成新的bash解释器并且新的bash解释器会从配置文件中自动读取形成自己的环境变量表信息。

以上就是【Linux】环境变量常见指令操作&基本实验(入门必看!)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号