Linux_10:环境变量

环境变量在操作系统中用于指定运行环境参数,如PATH影响命令搜索路径。可以通过echo$PATH查看路径,使用export添加环境变量。常见的环境变量包括PATH、HOME和SHELL。main函数可以带参数,包括环境变量表char*envp[]。环境变量数据来源于系统配置文件,如.bash_profile和.bashrc。命令行参数允许程序根据选项执行不同功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.基本概念

  • 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数

  • 如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。

  • 环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性

什么是环境变量?
大家会发现一个现象,假如我们编译好一个运行程序mytext,要运行它必须用./mytext运行,而系统默认的一些可运行程序指令 如 ls 这类就不需要,这就是因为ls在系统的默认环境变量中。

如何查看环境变量在哪里存放?

可以用echo $PATH

可以看到这些目录就是我的环境变量存放的位置,每个路径用:隔开


如何添加环境变量

我们现在有一个mymain的可运行程序
我们要运行它,需要用 ./mymain,而不能直接 mymain去运行,
这就是因为没有给mymain配置它的环境变量没有

我们可以用export PATH=$PATH: +绝对路径 来给mymain添加到环境变量中

然后就可以直接运行了:

当然也可直接将mymain的运行文件拷贝到已有的环境变量目录当中

在每次重启Xshell的时候环境变量会根据系统的默认值重新分配,所以不用怕环境变量搞乱了,重启就行!!!

2.常见环境变量

PATH : 指定命令的搜索路径
HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
SHELL : 当前Shell,它的值通常是/bin/bash

如何查看系统的环境变量:env

环境变量是针对不同的人,不同的场景去使用的!!!


从代码环境去获取环境变量:

1.main函数可以带参数吗?可以带几个参数?

main函数是可以带参的,最多带三个参数:int argc , char *argv[ ] , char *envp[ ]

这个char *envp[ ]就是一个指针数组,最后一个以NULL结尾表结构形式

编译程序进行打印:

得到:

envp就是一个表,是环境变量表!!!

2.environ

也可以得到

3.函数获取(主流)

利用环境变量来用函数实现pwd的功能:

利用函数getenv来获取

  • 环境变量本质就是一个内存级的一张表,这张表由用户在登陆系统的时候,进行给特定用户形成属于自己的环境变量表。

  • 环境变量中的每一个,都有自己的用途:有的是进行路径查找的,有的时进行身份认证的,有的时进行动态库查找的,有的是用来进行确认当前路经等等

  • 每一个环境变量都有自己的特定应用场景

  • 每一个元素都是kv的


环境变量对应的数据,都是从哪里来的呢?

环境变量是内存级的表!这是因为当我们重新登录的时候,之前修改的东西都会变回来。

环境变量是从系统大的相关配置文件中读取进来的!

cd ~ ls -al,其中我们的.bash_profile和.bashrc就是两个环境变量的配置脚本

3.命令行参数

int argc , char *argv[ ]这两个main函数的参数有什么用?

可以看到就能根据选项的不同,表现出不同的程序,这就叫做命令行参数

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值