環境變量是和Shell緊密相關的,用戶登錄系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。根據發行版本的情況,bash有兩個基本的系統級配置文件:/etc/bashrc和/etc/profile。這些配置文件包含兩組不同的 變量:shell變量和環境變量。前者只是在特定的shell中固定(如bash),後者在不同shell中固定。
本文根據文末鏈接文章精簡、整理,非天緣原創,特此聲明。
一、環境變量設置
1、顯示環境變量
$ echo $HOME
示例使用echo顯示變量HOME。其它變量類似使用。
2、設置一個新的環境變量
$ export MYDIR=”/usr/local/include”
設置MYDIR為/usr/local/include
3、顯示所有環境變量
$ env
4、使用set命令顯示所有本地定義的Shell變量
$ set
5、使用unset命令來清除環境變量
$ unset $MYDIR
刪除環境變量MYDIR。
6、添加到系統PATH
示例修改.bash_profile文件:
$ vi .bash_profile #修改環境變量定義文件
然後編輯你的PATH聲明,其格式為:
PATH=$PATH:<PATH 1>:<PATH 2>:---:<PATH N>
只需把新加的路徑與其它路徑中間用冒號隔開即可
7、立刻生效
$ source .bash_profile
二、環境變量訪問
下文示例用C程序來訪問和設置環境變量,我們有三個函數來設置或訪問一個環境變量。
1.getenv()訪問一個環境變量。輸入參數是需要訪問的變量名字,返回值是一個字符串。如果所訪問的環境變量不存在,則會返回NULL。
2.setenv()在程序裡面設置某個環境變量的函數。
3.unsetenv()清除某個特定的環境變量的函數。
另外,還有一個指針變量environ,它指向的是包含所有的環境變量的一個列表。下面的程序可以打印出當前運行環境裡面的所有環境變量:
#include <stdio.h>
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf (”%s /n “,*var);
return 0;
}