顯示環境變量: #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的環境變量;