操作Linux系统环境变量的几种方法
程序员文章站
2022-07-02 16:24:57
一.使用environ指针输出环境变量 代码如下: ~~~~ include include define MAX_INPUT 20 / 引用指针 / extern char environ; int main(int argc, char argv) { char temp = NULL; cha ......
一.使用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用户的配置
上一篇: 月子红糖水不能多喝知道吗