imjacob 发表于 2019-10-15 21:53:38

对linux中环境变量的理解正确与否

最近发现, shell 有环境变量 例如 SHELL=/bin/bash ,make有环境变量 例如 CC, gcc有环境变量 例如CPLUS_INCLUDE_PATH。我原来以为 只有系统才有环境变量,那环境变量到底是啥,随便写个程序都有环境变量吗?

Micro2008Chen 发表于 2019-10-15 23:02:13

简单来说,我理解环境变量就是存在公共内存一组key-value值,每一个进程都能访问公共空间,作用就是给进程一套参数,根据这套参数方便找到程序执行时所需要的各种东西

imjacob 发表于 2019-10-17 08:27:27

Micro2008Chen 发表于 2019-10-15 23:02
简单来说,我理解环境变量就是存在公共内存一组key-value值,每一个进程都能访问公共空间,作用就是给进程一 ...

我原来也这么认为。 那结果是, make的CC环境变量, 其他程序例如shell 也能访问,自己写的程序也能访问了。 还有,我自己写个程序,譬如象加个系统级的环境变量,例如ABC=“china”,如何加呢

笑笑我笑了 发表于 2019-10-17 08:31:27

imjacob 发表于 2019-10-17 08:27
我原来也这么认为。 那结果是, make的CC环境变量, 其他程序例如shell 也能访问,自己写的程序也能访问 ...

在 .bashrc 里添加 export ABC="china" ,然后可以用 echo $ABC 来检查是否添加成功。

Micro2008Chen 发表于 2019-10-17 09:03:22

imjacob 发表于 2019-10-17 08:27
我原来也这么认为。 那结果是, make的CC环境变量, 其他程序例如shell 也能访问,自己写的程序也能访问 ...

我2楼的回复跟现在描述的有矛盾吗?linux环境变量是可以继承的

huashengdun 发表于 2019-11-20 14:25:26

这些就像系统的PATH一样,还是很重要的
页: [1]
查看完整版本: 对linux中环境变量的理解正确与否