当前位置: 首页 > news >正文

【Linux:环境变量】

目录

命令行参数:

环境变量:


 

命令行参数:

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

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

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

环境变量:

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

添加路径至环境变量中

格式:PATH=$PATH:路径

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

  • 环境变量最开始并不存在于内存中,而是在系统对应的配置文件中,环境变量默认在配置文件中
  • 在系统中存在着很多的环境变量,Bash内部组织这些环境变量的方式就是通过建立一张env数组表,里面存放着环境变量的地址
  • bash在启动时,会默认给子进程形成两个表:argv[]命令行参数列表和env[]环境变量表,env是从系统配置文件中获取,argv从用户输入命令行中获取
  • 环境变量具有系统级的全局属性,可以让子进程继承
http://www.lryc.cn/news/419803.html

相关文章:

  • 8月9日笔记
  • API 签名认证:AK(Access Key 访问密钥)和 SK(Secret Key 私密密钥)
  • Redis 单机和集群环境部署教程
  • 华为hcip-big data 学习笔记《一》大数据应用开发总指导
  • 用户画像架构图
  • 37.x86游戏实战-XXX遍历怪物数组
  • go语言中map为什么不会自动初始化?
  • 大数据面试SQL(一):合并日期重叠的活动
  • stm32应用、项目、调试
  • WEB渗透-未授权访问篇
  • x86_64、AArch64、ARM32、LoongArch64、RISC-V
  • git push上不去的问题Iremote reiectedl——文件过大的问题
  • Qt Creator卡顿
  • 数据结构笔记(其五)--串
  • Python爬取高清美女图片
  • gin路由
  • 达梦数据库操作以及报错修改
  • 江科大/江协科技 STM32学习笔记P21
  • 第三方jar自带logback导致本地日志文件不生成
  • 国产数据库备份恢复实现
  • 数据仓库: 2- 数据建模
  • Tomcat 漏洞
  • 分布式消息队列Kafka
  • C# Unity 面向对象补全计划 七大原则 之 迪米特法则(Law Of Demeter )难度:☆☆☆ 总结:直取蜀汉
  • 【C++】—— 类与对象(四)
  • Qt无边框窗口,关闭后再show,鼠标等事件不响应问题解决办法
  • StringJoiner更优雅创建含分隔符的字符序列
  • 线程池原理(一)线程池核心概述
  • 关于redisson的序列化配置
  • CentOS安装ax200驱动