环境变量(进程第3篇)【Linux复习篇】

本文详细介绍了环境变量的概念、PATH环境变量的作用与设置方法,以及命令行参数的传递方式,包括argc和argv。还讨论了本地变量的生命周期和内建命令的特点,如echo命令。

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

目录

1、什么是环境变量?

1)PATH环境变量

2)怎么查看所有的环境变量?

 2、什么是命令行参数?

3、什么是本地变量和内建命令?


1、什么是环境变量?

环境变量是系统提供的多组name = value的形式的变量,不同的环境变量有不同的用户,通常具有全局属性。

1)PATH环境变量

为什么我们平时./运行我们的程序时,需要在该程序所在的目录下才能运行,而想ls这样的指令程序却可以在任何路径下执行呢?

这是因为在系统中存在环境变量PATH,保存了一系列路径

系统在执行ls命令时,会到PATH环境变量中的每个路径去找ls程序,然后再执行。

怎么新增?

PATH = $PATH:要新增的路径(注意path=是覆盖式的)

2)怎么查看所有的环境变量?

方法一:指令env

通过env指令可以查看当前进程从系统继承下来的所有环境变量。

HISTSIZE:历史命令被记录的条数。

方法二:系统调用getenv获取指定的一个环境变量

h

 2、什么是命令行参数?

int mian(int argc,char* argv[])
{
}

main函数也是函数,是可以被传入参数的。

argc表示参数个数,argv是参数数组,保存以空格分隔的字符串参数。

当我们在命令行中输入“./mycmd -a -b”时,实际会给argc传入以空格分隔的字符串个数,再给argv传入以空格分隔的字符串。

以“./mycmd -a -b”为例,argc=3 ,argv[0] = "./mycmd",argv[1] = "-a",argv[2] = "-b"

其实除了上面两个参数,main函数还有一个参数env

argv:命令行参数表

env:环境变量表

运行下面的程序,也可以打印出所有的环境变量。

 子进程会继承父进程的所有环境变量,所以说环境变量具有全局属性。

3、什么是本地变量和内建命令?

本地变量:只在本bash内有效,不会被子进程继承。

那为什么(echo $本地变量名) ,echo自己不用创建子进程吗,为什么它可以获取本地变量?其实echo命令是内建命令,它不需要创建子进程,是由自己亲自执行的,类似调用函数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值