【Linux:环境变量】

目录

命令行参数:

环境变量:


命令行参数:

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

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

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

环境变量:

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

添加路径至环境变量中

格式:PATH=$PATH:路径

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

  • 环境变量最开始并不存在于内存中,而是在系统对应的配置文件中,环境变量默认在配置文件中
  • 在系统中存在着很多的环境变量,Bash内部组织这些环境变量的方式就是通过建立一张env数组表,里面存放着环境变量的地址
  • bash在启动时,会默认给子进程形成两个表:argv\[\]命令行参数列表和env\[\]环境变量表,env是从系统配置文件中获取,argv从用户输入命令行中获取
  • 环境变量具有系统级的全局属性,可以让子进程继承
相关推荐
lihao lihao29 分钟前
软硬链接
linux·运维·服务器
TOWE technology32 分钟前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd
楼田莉子33 分钟前
Docker学习:Docker介绍及其架构介绍
运维·后端·学习·docker·容器·架构
雪度娃娃36 分钟前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
YY&DS41 分钟前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
辰风沐阳42 分钟前
ThinkPHP8.1 + think-swoole 4.1 使用指南(保姆级教程)
linux·后端·swoole
大明者省1 小时前
IIS 端口绑定正常访问的原理说明与常见误区澄清
运维·服务器·笔记
tedcloud1231 小时前
ai-engineering-from-scratch部署教程:从零搭建AI应用环境
服务器·前端·人工智能·系统架构·edge
mounter6252 小时前
迈向硬件级无缝热升级:Linux 内核 VFIO 与 IOMMU 持久化技术的演进之路
linux·服务器·内存管理·kernel
晚风吹红霞2 小时前
Linux软件包管理器详解 —— yum与apt的使用及软件生态
linux·运维·服务器