【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
来查找返回。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。