zoukankan      html  css  js  c++  java
  • 操作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 
    ", *env++);
    
        printf("
    Enter the variable you want to find : 
    ");
    
        scanf("%s", buf);
    
        printf("The output contains the contents of %s :
    ", buf);
    
        /* 重新赋值 */
        env = environ;
    
        /* 输出你要查找的内容 */
        while(*env)
            if(temp = strstr(*env++, buf))
                printf("%s 
    ", 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用户的配置
    
  • 相关阅读:
    react: redux-devTools
    react: menuService
    react: navigator
    react style: 二级菜单
    spark复习笔记(5):API分析
    spark复习笔记(4):spark脚本分析
    maven 打包Scala代码到jar包
    spark复习笔记(3)
    mongoDB学习笔记(2)
    sparkStreaming复习笔记(1)
  • 原文地址:https://www.cnblogs.com/GyForever1004/p/8387508.html
Copyright © 2011-2022 走看看