Linux的进程观:简单性如何成就强大性(三)
- 游戏开发
- 2025-09-13 12:54:02

1. 环境变量 1.1. 基本概念 环境变量(environment variables)⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数。 如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪⾥,但是照样可以链接成功,⽣成可执⾏程序,原因就是有相关环境变量帮助编译器⾏查找。 环境变量通常具有某些特殊⽤途,还有在系统当中通常具有全局特性。 1.2. 常见环境变量 PATH : 指定命令的搜索路径。 HOME : 指定⽤⼾的主⼯作⽬录(即⽤⼾登陆到Linux系统中时,默认的⽬录)。 LANG:Linux中的编码方式。 HISTSIZE:Linux记录历史命令的条数。 LOGNAME:登陆者是谁。 USER:使用者。 SHELL : 当前Shell,它的值通常是/bin/bash。 1.3. 查看环境变量的方法 1.3.1. echo $NAME
在echo $NAME命令中,NAME时环境变量的名称。
举例如下,查看环境变量中的PATH,LANG,SHELL:
1.3.2. 使用env命令我们使用env命令可以查看所有的环境变量。
举例如下:
1.3.3. 在代码中获取环境变量的三种方式命令行的参数:(main函数的三个参数)
通过第三方的environ:
通过系统调用来获得环境变量:(getenv)
1.4. 和环境变量相关的命令 echo: 显⽰某个环境变量值。 export: 设置⼀个新的环境变量。 unset: 清除环境变量。 set: 显⽰本 地定义的shell变量和环境变量。 env: 显⽰所有环境变量: 1.5. 环境变量通常具有全局属性在Linux系统中,环境变量的全局性体现在它们对当前会话及其子进程的广泛影响,能够跨越程序边界传递配置信息,为系统及应用程序提供统一的运行环境。其全局性主要通过以下机制实现:
一、环境变量的全局性特征会话级共享 环境变量定义在Shell会话中(如Bash),通过export命令导出后,当前会话及其所有子进程均可访问。例如:
export API_KEY="12345" # 导出为全局变量 python app.py # Python脚本可通过os.environ读取API_KEY进程继承机制 父进程的环境变量会被子进程自动继承,形成链式传递:Shell → 启动的脚本 → 脚本启动的子程序(如数据库客户端)。
系统级默认变量 系统预定义的全局变量(如PATH、HOME)通过配置文件(如/etc/profile)加载,对所有用户生效。
二、全局性的限制非跨会话共享 环境变量仅在当前Shell会话及其子进程有效。打开新终端窗口时,需通过配置文件(如~/.bashrc)重新加载。
进程隔离性 子进程对环境变量的修改不会反向影响父进程。例如:
# 父Shell中 export VAR="parent" bash # 启动子Shell export VAR="child" # 修改VAR echo $VAR # 输出"child" exit echo $VAR # 父Shell仍为"parent" 应用场景开发环境配置:通过NODE_ENV=production区分开发与生产模式。
服务密钥管理:将数据库密码存储在环境变量中,避免硬编码。
跨脚本通信:父子进程通过环境变量传递参数(如日志级别)。
Linux的进程观:简单性如何成就强大性(三)由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux的进程观:简单性如何成就强大性(三)”
上一篇
学生管理信息系统的需求分析与设计
下一篇
刷题记录10