Linux下控制环境变量
生活随笔
收集整理的這篇文章主要介紹了
Linux下控制环境变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
查看環境變量
查看某一環境變量:比如我們需要查看HOME這個環境變量,我們可以在shell下直接輸入echo $HOME
我們可以把所有的環境變量和環境變量的值都打印出來
打印環境變量
libc中定義的全局變量environ指向環境變量表,environ沒有包含在任何頭文件中,所以
在使用時 要用extern聲明。
下面提供了一個程序打印環境變量
#include<stdio.h>2 int main()3 {4 //libc中定義的全局變量environ指向環境變量表,environ沒有包含在任何頭?文件中,所以5 //在使?用時 要?用extern聲明。6 extern char** environ;7 // while(environ)8 // {9 // printf("%s\n",*environ++);10 // }11 // printf("hah");12 int i = 0;13 for(i = 0;environ[i]!=NULL;i++)14 {15 printf("%s\n",environ[i]);16 }17 return 0;18 }
控制環境變量接口getenv,setenv,unsetenv
- getenv()函數
#include <stdlib.h>char *getenv(const char *name);
getenv()功能的搜索環境列表找到環境變量名稱,并返回一個
指向相應值串的指針。如果沒有找到則返回NULL
- setenv()函數和unsetenv
#include <stdlib.h>int setenv(const char *name, const char *value, int overwrite);int unsetenv(const char *name);
setenv()是設置環境變量,如果成功則返回0,如果沒有成功則返回非0
unsetenv()是刪除一個環境變量
下面提供一段程序大家可以自行的測試一下
#include <stdio.h>
#include <stdlib.h>
#include <string.h> int main(void)
{ char* val; const char* name ="ABC"; //獲取ABC環境變量的值 val = getenv(name); printf("No.1 %s=%s\n", name, val); //覆蓋寫入環境變量 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); //刪除一個環境變量 int ret =unsetenv("ABC"); printf("ret =%d\n",ret); val = getenv(name); printf("No.3 %s=%s\n",name, val); return 0;
}
總結
以上是生活随笔為你收集整理的Linux下控制环境变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 野生虎杖干品多少钱一斤?
- 下一篇: Linux的僵尸进程