操作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用户的配置

原文地址:https://www.cnblogs.com/GyForever1004/p/8387508.html

时间: 2024-11-05 17:31:14

操作Linux系统环境变量的几种方法的相关文章

Linux添加系统环境变量的两种方法

方法一 export PATH=/usr/local/bin:$PATH 这种方法的PATH 在终端关闭 后就会消失.所以还是建议通过编辑/etc/profile来改PATH 方法二 # vim /etc/profile 在文档最后,添加: export PATH="/usr/local/bin:$PATH" 保存,退出,然后运行: #source /etc/profile 不报错则成功.

linux设置变量的三种方法

1在/etc/profile文件中添加变量对所有用户生效(永久的) 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久生效”. 例如:编辑/etc/profile文件,添加CLASSPATH变量 # vi /etc/profile export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib 注1:profile文件在系统启动时将被运行.大家可以在里面加入其他命令,但是一定要加正确,不然的话系统会启动不

Ubuntu Linux系统环境变量配置文件【转】

本文转载自:https://my.oschina.net/qinlinwang/blog/30471 Ubuntu Linux系统环境变量配置文件:  /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. /etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量. ~/.profile :  在登录时用到的第三个文件 是

Ubuntu设置环境变量的几种方法

1.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.1 永久的:需要修改配置文件,变量永久生效. 1.2 临时的:使用export命令声明即可,变量在关闭shell时失效. 2.设置变量的三种方法 2.1 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”. 例如:编辑/etc/profile文件,添加CLASSPATH变量 $ vi /et

selenium操作下拉滚动条的几种方法

数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java版本的,使用chromedriver,当然你可以换成python或其他语言,浏览器用firefox或者phantomjs(无头浏览器),大部分都是适用的,不同浏览器有略微的差异. 初始化一个浏览器 首先要允许浏览器运行js脚本 DesiredCapabilities sCaps = new Desi

Mac添加环境变量的三种方法

Mac添加环境变量的三种方法   法一:系统级,修改/etc/paths(每一行是一个环境变量)   法二:系统级,方便管理 1.创建一个文件: sudo touch /etc/paths.d/mysql 2.用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑): sudo vim /etc/paths.d/mysql 3.编辑该文件,键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了) /usr/local/mysql/bin

Ubuntu Linux系统环境变量配置文件

Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行./etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量.~/.profile :  在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行

利用 Linux 系统生成随机密码的10种方法

通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的),使用1password 或者 keepass 这种软件生成也可以,不过貌似1password 要收费,既然这样我们就玩一下好玩的用 linux 来生成随机密码玩玩吧; Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,

【SAS BASE】定义固定长度的character变量的四种方法

INPUT语句 1 INPUT Food $; /*采用list-style input,字符型变量默认长度为8*/ 2 INPUT Food $1-10; /*采用column input,长度由列的数量决定*/ 3 INPUT Food $15.; /*采用formatted input,长度formatted中的数字决定*/ ASSIGNMENT语句(赋值):用户可通过Assignment语句定义新变量,其程度有第一个出现在该变量中的观测决定. LENGTH语句:在DATA步中使用Leng