linux 系统查看、设置、获取环境变量

linux 系统的环境变量

操作系统的环境变量一般是指用来指定系统运行环境中的一些参数

常见的环境变量有:

PATH:指定命令的搜索路径
HISTSIZE: 保存历史命令的记录条数
SHELL:当前的shell ,值通常是bin\bash
HOME:指定用户的主工作目录

查看环境变量:

使用env 命令来查看所有的系统的环境产看系统的环环境环境变量
使用 echo $NAME //NAME 是自己指定的环境变量
使用set显示本地定义的环境变量和shell变量

设置环境变量:

设置永久的环境变量

1.在/etc/profile 的文件下编辑,所改变的环境变量是面向所有用户的
export CLASSPATH = /../...  该路径为绝对路径

2.在当前用户目录下./barsh_profile文件中修改 进行修改的话,仅对当前的用户生效
vim /home/wens/.barshc
export CLASSPATH = /../...  该路径为绝对路径

最后使用source命令 可以直接使环境变量生效
source  /home/wens/.barshc //直接跟环境变量的文件

设置临时的环境变量

使用export 命令直接设置环境变量,但是是临时的,仅在当前的shell下起作用

export 环境变量 = 路径

清除环境变量

使用 unset命令直接可以清除掉环境变量
// unset PATH

环境变量的组织方式

每一个程序都有一个环境变量表,环境变量是通过一个存放字符指针数组组织起来的,每个指针指向一个以’’/0’结尾的环境变量字符串

environ -> [-]--> PATH=/home/dsd\0
           [-]--> home=/DSD/SD\0
           [ ]--> ....
           [ ]
           [NULL]

通过代码获取环境变量

通过命令行的第三个参数

int main(int argc, cahr* argv[], char* env[]){
    //env数组中所存的即为环境变量
}

通过第三方变量 environ 获取

int main(int argc, cahr* argv[]){
    extern cahr ** environ;
      //environ指向全局环境变量表,不存在任何文件中,只能通过extern 来访问
     //environ字符指针数组中所存的即为环境变量
}

通过系统调用获取环境变量

putenv
int putenv(const char *name)
getenv
char *getenv(const char *name)


参数必须以 path=/../..的形式给出

环境变量具有全局性,可以被子进程所继承

你可能感兴趣的:(Linux,linux)