Linux 環境變量

顯示環境變量: #echo $HOME

設置增加環境變量: #export NEW_ENV="Hello!"

修改環境變量:#export path=$path:/path1:/path2

顯示所有環境變量: #env   ,#env |grep NEW_ENV

顯示所有本地定義的Shell變量:#set

清除環境變量:#unset $NEW_ENV

設置只讀環境變量:#export NEW_ENV="Hello!"

                                   #readonly NEW_ENV


環境變量的生存週期有永久的和臨時的;

永久的環境變量:需要修改配置文件

/etc/profile 中添加export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 這樣的環境變量是全局的,而且每次開機都存在;

~/.bash_profile 中添加export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib,這樣的環境變量只對當前用戶有效;

修改配置文件以後,可以用 source /etc/profile 或者 source ~/.bash_profile使修改在 當前 shell 立即生效;(注,只在運行source的shell立即生效)


臨時的環境變量:

在shell中用export命令聲明的環境變量,是臨時的,在shell關閉以後聲明的環境變量就沒有了,而且別的shell無法使用這個環境變量;


在程序代碼中對環境變量的使用:

頭文件: #include <stdlib.h>

函數定義:char * getenv(const char *name)

函數說明: 獲取name環境變量的內容;


函數定義: int putenv(const char * string)

函數說明:改變或增加環境變量的內容;如 putenv("NEW_ENV=Hello!");


函數定義: int setenv(const char* name,const char * value,int overwrite)

函數說明:改變或增加環境變量,name爲環境變量名,value爲 環境變量的內容,overwrite決定是否改變原有的環境變量,overwrite=0 用原有環境變量的內容放棄新的內容,overwrite=1 更新原有的環境變量的內容;


函數定義:int unsetenv( const char * name)

函數說明:清除名爲name的環境變量;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章