尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【Linux笔记】Linux环境变量
一、环境变量1.1 什么是环境变量环境变量是操作系统中用于存储系统或应用程序配置信息的键值对指定操作系统运行环境的参数核心功能它们为进程提供运行时的上下文信息例如当前用户、主目录路径、命令搜索路径等。注每个进程启动时都会继承父进程的环境变量。1.2 环境变量相关命令1.2.1env— 显示当前环境变量env # 列出所有环境变量KEYVALUE 格式 ​ 示例 ​ hamberVM-0-14-ubuntu:~$ env SHELL/bin/bash HISTSIZE1000 LANGUAGEen_US.utf8: PWD/home/hamber LOGNAMEhamber HOME/home/hamber LANGen_US.UTF-8 USERhamber PATH/home/hamber/.nvm/versions/node/v20.20.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin SSH_TTY/dev/pts/0 _/usr/bin/env OLDPWD/home/hamber/code ...常见的环境变量变量名含义示例值PATH可执行文件搜索路径/usr/local/bin:/usr/bin:/binHOME当前用户主目录/home/usernameUSER当前用户名usernameSHELL当前使用的 shell/bin/bashPWD当前工作目录/home/username/projectsLANG系统语言/字符集en_US.UTF-8EDITOR默认文本编辑器vimHOSTNAME主机名VM-0-14-ubuntuLD_LIBRARY_PATH动态库搜索路径/usr/local/lib1.2.2echo— 展开变量echo $HOME # 简单展开 hamberVM-0-14-ubuntu:~$ echo $HOME /home/hamber1.2.3export— 设置环境变量export MY_VARhello #临时设置环境变量 hamberVM-0-14-ubuntu:~$ export MY_VARhello hamberVM-0-14-ubuntu:~$ echo $MY_VAR hello1.2.4readonly— 设置只读环境变量export APP_MODEproduction #临时设置环境变量 readonly APP_MODE #将环境变量设置为只读 APP_MODEstaging # bash: APP_MODE: readonly variable unset APP_MODE # bash: unset: APP_MODE: cannot unset: readonly variable1.2.5unset— 删除环境变量unset MY_VAR # 删除变量 unset VAR1 VAR2 VAR3 # 同时删除多个 unset -v MY_VAR # 明确指定删除变量 示例 hamberVM-0-14-ubuntu:~$ env | grep MY_VAR MY_VARhello hamberVM-0-14-ubuntu:~$ unset MY_VAR hamberVM-0-14-ubuntu:~$ env | grep MY_VAR1.3 持久化配置根据 shell 类型和作用范围选择不同的配置文件Bash 用户大多数 Linux文件作用范围加载时机/etc/environment全系统所有用户系统启动时/etc/profile全系统所有用户登录 shell 启动~/.bash_profile当前用户登录 shell 启动~/.bashrc当前用户非登录交互式 shell/etc/profile.d/*.sh全系统推荐放自定义脚本登录时自动 source# ~/.bashrc — 非登录交互式 shell echo export MY_VAL hello ~/.bashrc #shell退出时环境变量不会消失 # 使修改立即生效 source ~/.bashrc二、main函数命令行参数2.1 main 函数的标准参数C/C 语言中main函数接收命令行参数的标准形式为int main(int argc, char *argv[])参数类型含义argcintargument count参数个数包含程序名本身argvchar *[]argument vector参数字符串数组例如执行命令./myapp -v hello foo bar时argc 4 argv[0] → ./myapp ← 程序名始终是第一个元素 argv[1] → -v ← 第1个用户参数 argv[2] → hello ← 第2个用户参数 argv[3] → foo bar ← 引号内的空格被保留为一个参数 argv[4] → NULL ← 标准保证argv[argc] NULL关键规则argc 1至少包含程序名。argv[argc]一定是NULL指针C 标准明确规定。Shell 在传参之前已完成变量替换、通配符展开和引号去除程序收到的是处理后的纯字符串。2.2 基本使用示例代码示例打印所有参数#include stdio.h int main(int argc, char *argv[]) { printf(参数个数: %d\n, argc); for (int i 0; i argc; i) { printf(argv[%d] \%s\\n, i, argv[i]); } return 0; }$ ./demo alpha beta gamma 参数个数: 4 argv[0] ./demo argv[1] alpha argv[2] beta argv[3] gamma2.3 第三种参数 ---envpint main(int argc, char *argv[], char *envp[])解析每个环境变量参数#include stdio.h int main(int argc, char *argv[], char *envp[]) { // envp 是以 NULL 结尾的字符串数组每项格式为 KEYVALUE for (int i 0; envp[i] ! NULL; i) { printf(%s\n, envp[i]); } return 0; }
RELATED

相关推荐

机器学习模型估计生命体征:逻辑回归、随机森林与SVR实战

机器学习模型估计生命体征:逻辑回归、随机森林与SVR实战

简介:基于逻辑回归、随机森林与SVR算法建立电子信号估计生命体征数据的数学模型,项目提供完整Python源码、使用说明及数据集,主要面向计算机科学、数据科学与大数据、人工智能、通信等专业在校生与开发者,适用于课程设计、毕业设计…

📅 2026/10/1 21:33:36
杭州写字楼办公室装修公司专业靠谱推荐:深度选型策略与落地指南

杭州写字楼办公室装修公司专业靠谱推荐:深度选型策略与落地指南

选择杭州写字楼办公室装修公司,核心不是比谁报价低,而是看合规资质、消防报审能力、交付体系、环保材料与售后条款。优先选择有写字楼案例、能提供设计施工一体化服务、报价清单透明、工期节点清晰的本地服务商,比单纯压价更稳妥。杭州写字楼…

📅 2026/10/1 21:28:36
好用的智能客服系统有哪些?五大主流平台深度横评

好用的智能客服系统有哪些?五大主流平台深度横评

当企业客服团队面对日益增长的咨询量和不断攀升的客户期望时,选择一套合适的智能客服系统已成为运营决策中的关键一环。据IDC发布的《中国企业级智能客服市场份额,2025》报告,2025年中国企业级智能客服市场规模达到71.9亿元,同比增…

📅 2026/10/1 21:28:36
MORE NEWS

更多资讯

📰

AI生成代码如何匹配团队风格与工程一致性

1. 这不是代码问题,是团队认知断层的显影 “AI写的代码一跑就通,但完全不像我们组写的”——这句话最近在好几个技术团队的茶水间、站会间隙、甚至代码评审会上反复出现。它听起来像一句调侃,但背后藏着一个正在快速扩大的现实裂口&#xff1…

📰

示波器核心参数与实战技巧:带宽、采样率、探头和触发全解析

1. 示波器到底在“看”什么:从一堆波形说起我第一次拿起示波器的探头时,心里想的是“这不是个大号的万用表嘛”。后来被老师傅纠正了——万用表告诉你“现在是多少伏”,示波器告诉你“电压在过去这段时间里是怎么变的”。这一个“怎么变”的差…

📰

ESXi虚拟机导出导入的底层逻辑与OVF/OVA交付实战

1. 为什么“导出导入虚拟机”不是点几下鼠标的事——ESXi环境下的真实交付瓶颈你有没有遇到过这样的场景:在Dell R730服务器上部署完ESXi 8.0,搭好vSphere环境,创建了一台CentOS 7 Hadoop 3.3 Spark 3.3伪分布式集群的虚拟机,测…

📰

LabVIEW活用ActiveX生成Excel报表:不装NI报表工具包也能搞定

如果我说,用LabVIEW生成Excel报表,不一定非要装NI Report Generation Toolkit,可能很多人第一反应是不信。毕竟网上90%的教程翻来覆去就是那套流程:拖出New Report.vi、Append Table To Report.vi,然后万事大吉。但这些…

📰

基于Swin Transformer的遥感变化检测实战:双时相影像判读

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Jev:轻量级本地AI协作协议与模型调用实践指南

1. Jev 不是“又一个大模型API”,而是轻量级AI协作协议的实践入口最近朋友圈和几个技术群都在刷“Jev回归开放注册”这个消息,标题里还特意加了“免费额度暂停”——乍一看像某家云厂商在调整试用策略,但点进去发现根本不是那么回事。我第一时…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬