一.使用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系统环境变量的几种方法的更多相关文章

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

    方法一 export PATH=/usr/local/bin:$PATH 这种方法的PATH 在终端关闭 后就会消失.所以还是建议通过编辑/etc/profile来改PATH 方法二 # vim /e ...

  2. linux设置变量的三种方法

    1在/etc/profile文件中添加变量对所有用户生效(永久的) 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久生效”. 例如:编辑/etc/ ...

  3. Centos上把新安装的程序添加到系统环境变量的两种方法

    1.软链接 通过命令查看当前系统的环境变量信息,然后软连接形式把程序的地址连接到已经在环境变量中的目录中 echo "$PATH" > /root/tmp 结果如下: /us ...

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

    本文转载自:https://my.oschina.net/qinlinwang/blog/30471 Ubuntu Linux系统环境变量配置文件:  /etc/profile : 在登录时,操作系统 ...

  5. linux 系统环境变量配置

    使用Ubuntu 进行开发绕不开的就是环境变量的配置,由于Linux系统严格的权限管理,造成Ubuntu系统有多个环境变量配置文件,如果不了解其调用顺序,很有可能遇到配置了环境变量,而没有其作用的问题 ...

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

    1.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.1 永久的:需要修改配置文件,变量永久生效. 1.2 临时的:使用export命令声明即可,变量在关闭shell时失效 ...

  7. java环境变量配置四种方法

    原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...

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

    数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...

  9. Linux系统环境变量的四个配置文件的关系

    Linux系统环境变量配置有四个文件分别是: /etc/environment,/etc/profile,/etc/bash.bashrc,~/.bashrc 各配置文件意义 /etc/environ ...

随机推荐

  1. 【转】权限管理学习 一、ASP.NET Forms身份认证

    [转]权限管理学习 一.ASP.NET Forms身份认证 说明:本文示例使用的VS2017和MVC5. 系统无论大小.牛逼或屌丝,一般都离不开注册.登录.那么接下来我们就来分析下用户身份认证. 简单 ...

  2. ScheduledExecutorService--目前最理想的定时任务实现方式

    ScheduledExecutorService 理想的定时任务实现方式 : 通过线程池的方式来执行任务的 可以灵活的设定第一次执行任务延迟时间 提供了良好的约定,以便设定定时执行的间隔时间代码实现: ...

  3. 【轻松前端之旅】HTML的块元素、行内元素和空元素

    块(block)元素 显示成一块,前后有换行.块元素常用于web页面的主要构造模块.例如:<div>,<p>,<h1>~<h6>,<blockqu ...

  4. eclipse配置servlet错误

    可能是因为你的web.xml里的<url>映射的名字和servlet相同

  5. const和static readonly 区别

    const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值. 而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值. static readonly ...

  6. s6-1 传输层概述

    6.1 传输层概述 传输层概述 传输层是整个协议栈(TCP/IP)的核心 传输层的任务是提供可靠的.高效的数据传输 传输层的地位 网络层.传输层和应用层  传输层在应用层和网络层之间提供了无缝接口 ...

  7. 读取嵌入到word的Excel对象

    Word.Document doc = this._wordApplication.Documents.Add(@"C:\Users\linmeicheng\Desktop\新建文件夹 (3 ...

  8. UniGUI的布局使用说明

    (unigui的页面布局还是很强大的,基本什么的排版都能搞好.前面部分为原文章翻译,翻译不一定很准确,就能看吧,后面有使用说明,有什么不明白的欢迎加我QQ(910300653)一起交流学习) 一.布局 ...

  9. unigui 调用js

    //引用单元uniguiapplicationUniSession.AddJS('alert(unigui调用了JS方法)');

  10. 8. Filters in ASP.NET MVC 5.0【ASP.NET MVC 5.0中的过滤器】

    ASP.NET Filers用来在MVC框架的不同请求处理阶段,注入额外的逻辑.过滤器为横切关注点提供了一种方法(日志记录,授权,缓存). 在这篇文章中,我将会向你介绍MVC框架支持的各种不同种类过滤 ...