环境变量及其获取和设置

环境变量及其获取和设置环境变量及其获取和设置 环境变量怎么设置

大家好,欢迎来到IT知识分享网。

环境变量及其获取和设置

目录

常见环境变量

查看环境变量的方法 

如何设置环境变量呢

和环境变量相关的命令

通过代码如何获取环境变量

1.命令行第三个参数

2.通过第三方变量environ获取

通过系统调用或设置环境变量

环境变量通常是具有全局属性的


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

常见环境变量

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

查看环境变量的方法 

echo $NAME
//NAME:
你的环境变量名称

环境变量及其获取和设置

了解环境变量

环境变量及其获取和设置

环境变量及其获取和设置

我们发现,像ls ll pwd这样的命令可以直接运行,但是像我们的myproc这样的程序却不能运行,那是因为像ls,ll,pwd这样的命令,所处的路径在环境变量中,但像myproc所处的路径不在环境变量中,所以导致了运行的时候在环境变量中找不到对应的路径,才没办法运行。

如何设置环境变量呢

1.将要执行的程序的路径导入 /usr/bin路径下,但是这种方法不推荐,因为会污染原有的命令。

2.通过export导入环境变量

环境变量及其获取和设置

我们可以看到,此时不用带./也可以执行了

环境变量及其获取和设置

当我们关闭当前会话后,会发现该路径又没有了,所以我们就不必担心会污染原有的命令了! 

和环境变量相关的命令

1. echo:
显示某个环境变量值
2. export:
设置一个新的环境变量
3. env:
显示所有环境变量
4. unset:
清除环境变量
5. set:
显示本地定义的
shell
变量和环境变量

env:

环境变量及其获取和设置

环境变量得组织方式

环境变量及其获取和设置

通过代码如何获取环境变量

1.命令行第三个参数

#include <stdio.h>

int main(int argc, char *argv[], char *env[])
{
        int i = 0;
        for(; env[i]; i++){
        printf(“%s\n”, env[i]);
        }
        return 0;
}

环境变量及其获取和设置

2.通过第三方变量environ获取
libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。
#include <stdio.h>
int main(int argc, char *argv[])
{
        extern char environ;
        int i = 0;
        for(; environ[i]; i++){
        printf(“%s\n”, environ[i]);
        }
return 0;
}

 环境变量及其获取和设置

通过系统调用或设置环境变量

1.getenv()

环境变量及其获取和设置

2.putenv() 

环境变量及其获取和设置

环境变量通常是具有全局属性的

环境变量通常具有全局属性,可以被子进程继承下去。 
直接查看,发现没有结果,说明该环境变量根本不存在
导出环境变量   export MYENV=”hello world”

环境变量及其获取和设置

#include <stdio.h> #include <stdlib.h> int main() { char * env = getenv("MYENV"); if(env){ printf("%s\n", env); } return 0; }

环境变量及其获取和设置

再次运行程序,发现结果有了!说明:环境变量是可以被子进程继承下去的!

如果只进行 MYENV“helloworld” ,不调用export导出,那么运行程序会发现没有看到MYENV 

 环境变量及其获取和设置

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122498.html

(0)
上一篇 2025-10-16 10:45
下一篇 2025-10-16 11:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信