【Linux:环境变量】

目录

命令行参数:

环境变量:


命令行参数:

argv是一个char*类型的数组,里面存放着字符、字符串的指针地址,且该数组必定是以NULL结尾

命令行中启动的进程都是Bash的子进程,命令行参数的存在本质上就是通过选择不同的选项来定制不同的程序功能。

在linux中,命令中带选项带来不同的程序功能,这就是命令行参数存在的意义。但与其不同的是,自己写的程序在执行时,需要带路径,但我们使用程序命令(例如:ls,pwd等等)都不用带路径是因为该命令已经添加到环境变量中。

环境变量:

在登录操作系统时,系统中的很多配置就已经加载到了Bash命令中(内存),其中包括PATH,PATH是一个环境变量,查看环境变量中的内容就需要带$符号环境变量中的内容以:作为分隔符,以:划分的区域是一个路径,bash在执行命令中时需要进行查找,查找的方式就是一个区域一个区域的查找。当命令添加到了环境变量后,在使用该命令时就可以不用带路径

添加路径至环境变量中

格式:PATH=$PATH:路径

不可以直接PATH=路径,会覆盖环境变量之前的内容 .

  • 环境变量最开始并不存在于内存中,而是在系统对应的配置文件中,环境变量默认在配置文件中
  • 在系统中存在着很多的环境变量,Bash内部组织这些环境变量的方式就是通过建立一张env数组表,里面存放着环境变量的地址
  • bash在启动时,会默认给子进程形成两个表:argv[]命令行参数列表和env[]环境变量表,env是从系统配置文件中获取,argv从用户输入命令行中获取
  • 环境变量具有系统级的全局属性,可以让子进程继承
相关推荐
小成202303202652 小时前
Linux高级02
linux·开发语言
mounter6252 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==2 小时前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长2 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5382 小时前
Linux环境变量
linux·运维·服务器
pluvium273 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员3 小时前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
kebeiovo3 小时前
atomic原子操作实现无锁队列
服务器·c++
赛博云推-Twitter热门霸屏工具3 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18803 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器