GNU/Linux下面每個程序運行都有一個所謂的運行環境,這裡的環境實際上就是一組變數的定義。所有的變數和他們的值都是字元串形式表達的。通過轉換,通常變數名字都是用大寫字元表達。
對於環境變數大家都不陌生,例如,我們都很熟悉的HOME這個環境變數,這個變數指示的當前用戶的個人用戶目錄的路徑。又例如,PATH這個環境變數,它指示出當前Linux系統搜索的的執行文件的路徑列表。
對於我們在Linux下常用的BASH這個shell程序,它有自己的一套管理環境變數的方法。例如,通過$NAME來訪問相應的環境變數,通過export來設置環境變數,下面是一個實例:
CODE: [hwang@langchao linuxprogram]$ echo $HOME /home/hwang [hwang@langchao linuxprogram]$ export MYNAME="Luster" [hwang@langchao linuxprogram]$ echo $MYNAME Luster [hwang@langchao linuxprogram]$ |
而在我們的應用程序裡面,如果需要訪問一個環境變數,我們可以通過getenv()這個函數來實現,getenv這個函數在這個頭文件中聲明。這個函數的輸入參數是需要訪問的變數名字,得到的返回值是一個字元串,如果所訪問的環境變數沒有設置,則會返回NULL。如果需要在程序裡面設置某個環境變數,則可以使用setenv這個函數,如果是要清除某個特定的環境變數,則使用unsetenv這個函數。它們的函數原型如下:
CODE: #include char *getenv(const char *name); int setenv(const char *name, const char *value, int overwrite); void unsetenv(const char *name); |