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

Linux系统编程——环境变量、命令行参数

环境变量

在操作系统中,用来指定操作系统运行环境的一些参数:通常时系统提供的一组 name=value 形式的变量,Linux 中 不同用户有不同的环境变量。

环境变量 在系统中通常具有 全局特性。

常见环境变量:

PATH:指定命令的搜索路径

HOME:指定用户的主工作目录

SHELL:当前 shell 路径

命令行参数

以 main 函数传参为例:argc 表示 argv 字符串数组中有 argc 个元素,env 是传入的环境变量

在 linux bash 中使用系统指令时,其实我们输入的是 字符串,会被 bash 解析,以空格作为分割符,作为参数传给 main 函数,在系统环境变量提供的路径中 查找并调用 相应可执行文件

main 函数中的两张 核心 向量表:命令行参数表、环境向量表;均以NULL结尾

环境变量会被子进程继承:bash 自身在启动时 会从操作系统的 配置文件中读取环境变量信息,我们在 bash 中运行的子进程会从 继承 bash 的环境变量信息

进程启动时,调用 main 函数前需要传入 这两张核心向量表

本地变量

本地变量 只在 本 bash 内部有效,不会被继承;但是本地变量也可以导出到环境变量

内建命令

常规的命令需要通过 创建子进程来完成,如果创建子进程,在不主动传入环境变量进行覆盖的情况下,子进程会继承父进程的环境变量;

内建命令 —— bash 不创建子进程,亲自执行;类似于 bash 调用系统提供的函数

http://www.dtcms.com/a/318374.html

相关文章:

  • Dart语言语法与技术重点
  • 数据结构—队列和栈
  • openGauss单实例安装
  • YOLOv11改进:集成FocusedLinearAttention与C2PSA注意力机制实现性能提升
  • Redis使用的常见问题及初步认识
  • PLC学习之路-数据类型与地址表示-(二)
  • WinXP配置一键还原的方法
  • 【golang面试题】Golang递归函数完全指南:从入门到性能优化
  • 五十二、【Linux系统shell脚本】正则表达式演示
  • 202506 电子学会青少年等级考试机器人五级实际操作真题
  • 数据结构:栈、队列
  • C语言的数组与字符串练习题1
  • 18650电池组PACK自动化生产线:高效与品质的融合
  • 动物AI识别摄像头语音对讲功能
  • 大模型客户端工具如Cherry Studio,Cursor 配置mcp服务,容易踩的坑,总结
  • RPC框架之Kitex
  • 云手机和云真机之间存在的不同之处有什么?
  • [Oracle] LPAD()和RPAD()函数
  • Python实现电商商品数据可视化分析系统开发实践
  • 一、Istio基础学习
  • 自定义报表调研
  • 居家养老场景下摔倒识别准确率提升 29%:陌讯动态姿态建模算法实战解析
  • JuiceFS存储
  • C++实现线程池(5)计划线程池
  • Redis知识学习
  • 深度解析:AI如何重塑供应链?从被动响应到预测性防御的三大核心实践
  • (Python)待办事项升级网页版(html)(Python项目)
  • 未解决|TransmittableThreadLocal 怎么用| 阿里线程池工具避免手动在传递MDC traceId
  • 数字取证和网络安全:了解两者的交叉点和重要性
  • 《爬虫实战指南:轻松获取店铺详情,开启数据挖掘之旅》