【Linux】如何查看和获取环境变量四种方法($PATH、env表、environ、getenv)

阿然成长日记 2024-08-05 11:37:02 阅读 96

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤

📃个人主页 :阿然成长日记 👈点击可跳转

📆 个人专栏: 🔹数据结构与算法🔹C语言进阶🔹C++🔹Liunx

🚩 不能则学,不知则问,耻于问人,决无长进

🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

文章目录

一、Linux中如何查看-获取当前环境变量?1.使用echo $PATH查看

二、下面再来学几个个获取环境变量的方法:1、命令行第三个参数 `char *env[]`2、通过第三方变量environ获取3、通过系统调用获取指定环境变量

一、Linux中如何查看-获取当前环境变量?

1.使用echo $PATH查看

使用指令,查看当前环境变量

<code>echo $PATH

PATH:你的环境变量名称

系统中的环境变量有很多,以[:]来进行分割。其中便有/usr/bin

在这里插入图片描述

这个路径下就存在着我们经常使用的指令【ls】

在这里插入图片描述

所以,这下就懂了,为什么这些指令可以直接使用了吧。


二、下面再来学几个个获取环境变量的方法:

1、命令行第三个参数 <code>char *env[]

#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;

}

在这里插入图片描述

这个env是一个指针数组,里面的每个都指向一个变量字符串

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

<code>#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;

}

在这里插入图片描述

为什么要声明?

<code> extern char **environ;

libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。

来看看它的结构图

在这里插入图片描述

3、通过系统调用获取指定环境变量

指令:<code>getenv

格式

char *getenv(const char *name)

作用:搜索 name 所指向的环境字符串,并返回相关的值给字符串

返回值:返回一个以 null 结尾的字符串,该字符串为被请求环境变量的值。如果该环境变量不存在,则返回 NULL。

#include <stdio.h>

#include <stdlib.h>

int main ()

{

printf("PATH : %s\n", getenv("PATH"));

printf("HOME : %s\n", getenv("HOME"));

printf("ROOT : %s\n", getenv("ROOT"));

return(0);

}

注意:这个指定并不是打所有变量。而是根据参数name来查找返回。

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。