新闻详情

新闻详情

首页 / 资讯中心 / 详情

操作系统环境变量

发布时间:2026/11/13 23:21:01来源:尧图网络
操作系统环境变量
一.环境变量的概念环境变量操作系统中用来指定操作系统运行环境的一些参数。如在C/C代码链接的过程中我们明明没有给编译器库的地址但它还是能找到这是因为有环境变量辅助编译器查找。二.命令行参数main函数有参数吗答案是可以有的像这个代码就是我们在命令行给main函数传递的参数其中变量argv用来储存参数值argc记录了所传参数的个数。那这是怎么做到的呢也就是说当我们输入命令后由bash来对该命令进行分割并创建命令行参数表当bash创建子进程执行代码时它可以将命令行参数表传过去这样main就得到了参数。三.认识一些环境变量环境变量到底有什么用呢认识PATH学完指令后我们知道所有的指令本质上都是可执行文件使用指令就是调用这些文件但我们可以发现调用ls、cd…这些指令时我们根本没有给bash这些文件的绝对路径那它是怎么调用的这是因为系统里有环境变量PATH的存在它保存了一些路径其中就有找到这些指令的路径。我们可以用echo $环境变量的形式查看环境变量的具体内容那这是不是意味着我们只要把某些路径加入进PATH中就可以让自己写的一些程序调用时不需要给路径没错。如果这样改的话我们会发现一些指令我们不能直接用了所以我们要做的应该是在原本的值上加上目标路径:认识其他我们可以用指令env来查看系统内的所有环境变量HOSTNANE保存了该系统的主机名SHELL默认登陆shell(命令行解释器)的路径HISTSIZE保留历史命令的最大个数我们可以用history查看我们在该系统下输入的历史命令其最大个数就取决于HISTSIZEOLDPWD上一个工作目录SSH_TTY当前用户说对应的终端USER表示当前有效用户名PATH记录一些路径是大部分指令可以不用路径的原因PWD当前工作目录HOME家目录路径LOGNAME表示用户登录时使用的用户名(一般都和USER一样)。四.获取环境变量环境变量怎么来怎么维护环境变量的值是由系统配置文件得来的这些文件储存在硬件中当我们以用户身份登录操作系统后OS会给我们一个bash它就会从系统配置文件中读取信息并给这些环境变量赋值并用字符串数组维护起来无论是环境变量表还是命令行参数表都是靠char**指针维护的都是以NULL结尾。环境变量相关命令echo $环境变量查看指定环境变量信息env查看所有环境变量export创造新的环境变量或修改已有环境变量unset 环境变量删除目标环境变量export代码中获取环境变量方法一main函数中其实可以有三个参数。第三个变量也是字符串数组可以接收父进程传来的环境变量。方法二函数getevn()可以获取指定环境变量的值我们可以用这种方法去完成某些特定工作如只让指定的人执行该代码。方法三在unistd.h文件中有全局变量char ** environ它保存着环境变量环境变量的特性环境变量具有全局性当bash创建子进程执行程序时它同时会把环境变量表的地址传给子进程当这个子进程再创建子进程时表的地址也会继续传递下去。但如果在这个体系中有进程修改了环境变量的值那么它就会进行写实拷贝(就像父子进程共用代码数据一样)只让该进程环境变量的值进行改变。那这样对export来说是否有些奇怪当我们使用export时就说明环境变量一定发生了改变但它不应该时bash创建子进程执行的吗要改变也是export对应的进程中的环境变量改变为什么bash中的环境变量会变这是因为export是bash的内建命令(built-in command)它不是bash创建子进程执行而是由bash自己执行。五.补充为什么main函数有不同的参数形式虽然我们总说main函数是程序的入口当但OS执行起来时这句话并不成立因为OS中是有函数会调用main函数的在Linux中这个函数叫_start在它调用main函数时OS会先扫描main有几个参数再通过_start中的不同分支调用main函数。本地变量在Linux中有本地变量的概念在命令行直接创建即可可以通过创建变量去完成某些工作。bash本身就是一种脚本编译器它很依赖本地变量。我们用指令set可以查看所有本地变量和环境变量。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉