Linux下查看控制環(huán)境變量的方法
查看環(huán)境變量
查看某一環(huán)境變量:比如我們需要查看HOME這個環(huán)境變量,我們可以在shell下直接輸入echo $HOME,我們可以把所有的環(huán)境變量和環(huán)境變量的值都打印出來
打印環(huán)境變量
libc中定義的全局變量environ指向環(huán)境變量表,environ沒有包含在任何頭文件中,所以 在使用時 要用extern聲明。
下面提供了一個程序打印環(huán)境變量
#include<stdio.h>
int main()
{
//libc中定義的全局變量environ指向環(huán)境變量表,environ沒有包含在任何頭⽂文件中,所以
//在使⽤用時 要⽤用extern聲明。
extern char** environ;
// while(environ)
// {
// printf("%s\n",*environ++);
// }
// printf("hah");
int i = 0;
for(i = 0;environ[i]!=NULL;i++)
{
printf("%s\n",environ[i]);
}
return 0;
}
控制環(huán)境變量接口getenv,setenv,unsetenv
getenv()函數(shù)
#include <stdlib.h> char *getenv(const char *name);
getenv()功能的搜索環(huán)境列表找到環(huán)境變量名稱,并返回一個 指向相應(yīng)值串的指針。如果沒有找到則返回NULL
setenv()函數(shù)和unsetenv
#include <stdlib.h> int setenv(const char *name, const char *value, int overwrite); int unsetenv(const char *name);
setenv()是設(shè)置環(huán)境變量,如果成功則返回0,如果沒有成功則返回非0
unsetenv()是刪除一個環(huán)境變量
下面提供一段程序大家可以自行的測試一下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char* val;
const char* name ="ABC";
//獲取ABC環(huán)境變量的值
val = getenv(name);
printf("No.1 %s=%s\n", name, val);
//覆蓋寫入環(huán)境變量
setenv(name, "I amsure of that I will get it", 1);
printf("No.2%s=%s\n", name, val);
val = getenv(name);
printf("No.3%s=%s\n", name, val);
//刪除一個環(huán)境變量
int ret =unsetenv("ABC");
printf("ret =%d\n",ret);
val = getenv(name);
printf("No.3 %s=%s\n",name, val);
return 0;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信