linux下使环境变量立即生效的几种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下使环境变量立即生效的几种方法相关的知识,希望对你有一定的参考价值。

1、export设置环境变量,立即生效【临时有效,重启或重新开启会话后失效】,例如:export PATH='/etc/lib',执行后export看到PATH的环境变量已经更改

2、修改/etc/profile文件,对所有用户生效【永久】,这是系统启动后会执行的脚本,在里面写入export PATH='/etc/lib',这样重新登陆会话、重新启动机器后环境变量仍然有效;立即生效方式: source /etc/profile,即手动执行profile脚本

3、修改当前用户目录下的.bash_profile文件,对当前用户有效;同方法2,

参考技术A 2种方式:
1、通过执行命令export name=value;
2、编辑/etc/profile文件添加export name=value
执行 source /etc/profile或者. /etc/profile让环境比变量立即生效。

操作Linux系统环境变量的几种方法

一.使用environ指针输出环境变量

代码如下:

#include<stdio.h>
#include<string.h>

#define MAX_INPUT 20 

/* 引用指针 */
extern char** environ;

int main(int argc, char** argv)
{
    char *temp = NULL;
    char** env = environ;
    char buf[MAX_INPUT] = {0};

    /* 输出全部环境变量 */
    while(*env)
        printf(" %s \n", *env++);

    printf("\nEnter the variable you want to find : \n");

    scanf("%s", buf);

    printf("The output contains the contents of %s :\n", buf);

    /* 重新赋值 */
    env = environ;

    /* 输出你要查找的内容 */
    while(*env)
        if(temp = strstr(*env++, buf))
            printf("%s \n", temp);

    return 0;
}
二.使用函数

首先要说明的是,通过此函数并不能添加或修改 shell 进程的环境变量,或者说通过 setenv() 函数设置的环境变量只在本进程,而且是本次执行中有效。

/* 通过变量名返回环境变量的内容 */
char *getenv(const char *name);

/* 改变或增加环境变量 */
int setenv(const char *name, const char *value, int overwrite);

/* 改变或增加环境变量,其中参数必须以 "name=value" 的形式给出 */
int putenv(char *string);

/* 删除name的定义,即使不存在也不算出错 */
int unsetenv(const char *name);

/* 删除全部的环境变量,并将environ设置为NULL */
int clearenv(void);
三.命令行操作

用命令行修改PATH,只针对当前shell有用,关了终端就失效了,命令如下:

echo $PATH              #输出PATH环境变量
export PATH = xxx       #设置环境变量
unset PATH              #删除环境变量
env                     #显示所有环境变量
四.修改系统文件

登陆root,在家目录(root)的 .bashrc 添加如下语句就可以设置PATH变量

export PATH = xxx

要使修改生效的话需要重启或执行

source .bashrc

.bashrc 中的修改对于当前账户的每次登陆都有效,
也可以修改 /etc/profile 文件,使其对所有用户生效。

几个文件的介绍:
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bashshell被打开时,该文件被读取.

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,执行用户的.bashrc文件.

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

/root/.bash_profile root用户的配置

以上是关于linux下使环境变量立即生效的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

系统篇: linux 设置环境变量

Linux下如何使环境变量文件生效

Linux下如何使环境变量文件生效?

注册表reg 修改电脑环境变量 并立即生效 怎么写

idea 环境变量修改后不生效处理

操作Linux系统环境变量的几种方法