显示环境变量: #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的环境变量;