环境变量

见一见环境变量:

查看环境变量的命令

命令行:

echo &PATH

echo &HOME

env

ps ajx

ps aux

ps -f -o pid

code.c中获取环境变量

main(char* env[])

char* getenv(env_name)

本地变量

shell中定义变量为本地变量

i=10

a=100

等,shell会自动保存这些变量

命令行调用/查看本地变量

echo &a

echo &i

env查不到本地变量

set可以查到环境变量&本地变量

export b=100

unset b=100  取消环境变量

bash进程环境变量创建

当我们登陆时,bash会读取环境变量文件,bash也是一个进程,设置自己cwd为HOME(使用chdir)

bash的cwd会根据cd改变(保持与$PED相同)

命令行执行的命令,父进程都是bash

所以命令行中相对路径都是以当前目录为起点

环境变量 vs 本地变量

本地变量一般给shell自己用

export a将a变量导入为环境变量

环境变量可以被子进程继承,本地变量不能

bash进程不仅存储env&args,还会存储本地变量表,export将本地变量表迁移到环境变量表env中

bash关闭后env中export导入变量会消失

因为export只是存储在bash只记得env中,而不是配置文件。新建bash会从配置文件读取env

环境变量作用示例

环境变量具有全局性

环境变量可以被所有bash下子进程(包括子进程fork的子进程)继承,因此环境变量具有全局性

为什么要有环境变量

描述系统的配置信息,尤其是具有指导性的配置信息,是系统配置起效的一种表现

可用于进程间传递数据

environ

extern char** environ   声明environ

char* environ[]   C提供的全局变量

板书笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值