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的环境变量;



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