zoukankan      html  css  js  c++  java
  • linux--环境变量

    Linux是一个多用户多任务的操作系统,能够在Linux中为不同的用户设置不同的执行环境,详细做法是设置不同用户的环境变量(称之为Linux中定制的环境变量)。可是仍有些环境变量是用户都须要的,我们称之为Linux中常见的环境变量,本文仅仅涉及常见的环境变量的简单介绍!

    Linux中常见的环境变量有:

    1.PATH:指定命令的搜索路径
    2.HOME:指定用户的主工作文件夹(即用户登陆到Linux系统中时。默认的文件夹)
    3.HISTSIZE:指保存历史命令记录的条数。
    4.LOGNAME:指当前用户的登录名。

    5.HOSTNAME:指主机的名称,很多应用程序假设要用到主机名的话。一般是从这个环境变量中来取得的。

    6.SHELL:指当前用户用的是哪种Shell。
    7.LANG/LANGUGE:和语言相关的环境变量。使用多种语言的用户能够改动此环境变量。
    8.MAIL:指当前用户的邮件存放文件夹。

    9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
    10.PS2:附属提示符,默认是“>”。
    备注:能够通过改动此环境变量来改动当前的命令符,比方下列命令会将提示符改动成字符串“Hello,My NewPrompt ”。
      # PS1="Hello,My NewPrompt"
    注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

    当然,我所列举的上述环境变量并不是穷尽列出!


    Linux也提供了改动和查看环境变量的命令!以下通过几个实例来说明:
    1.echo 显示某个环境变量值 echo $PATH
    2.export 设置一个新的环境变量 export HELLO="hello" (能够无引號)
    3.env 显示全部环境变量
    4.set 显示本地定义的shell变量
    5.unset 清除环境变量 unset HELLO

    6.readonly 设置仅仅读环境变量 readonly HELLO



    在c++中,可在本进程中暂时改变环境变量。经常使用的函数的有

        getenv():获取指定环境变量的值

        putenv():加入环境变量

        setenv():  环境变量设置的值

        unsetenv():清除指定的环境变量

        clearenv():清除全部的环境变量

    看下面实例:

    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    #include <stdlib.h>
    using namespace std;
    int main()
    {
    	char *env1, *env2, *env3, *env4; 
    	env1 = getenv("HOME");  //获取环境变量HOME的值
    	cout << env1 << endl;
    
    	int temp;
    	char str[]="aaa=aaavalue";  //aaa=aaavalue不能加空格
    	temp = putenv(str);  //加入环境变量aaa
    	if(temp != 0)  //加入失败
    		cout << "create environment error." << endl;
    	else   //加入成功
    		{
    			env2 = getenv("aaa");
    			cout << "aaa : " << env2 << endl;
    		}
    	
    	int temp1;
    	temp1 = setenv("bbb", "bbbValue", 0);   //加入环境变量bbb
    	if( 0==temp1 )   //加入成功
    	{
    		cout << "add bbb success." << endl;
    		env3 = getenv("bbb");
    		cout << "bbb : " << env3 << endl;
    	}
    	else   //加入失败
    		cout << "add bbb error." << endl;
    
    	int temp2;
    	temp2 = unsetenv("bbb");  //清除环境变量bbb
    	if( 0==temp2 )
    		cout << "remove bbb success." << endl;
    	else
    		cout << "remove bbb error." << endl;
    }
    



  • 相关阅读:
    CentOS 6 + bochs-2.6 + gdb 调试 linux 0.11 —— 成功
    操作系统原理——互斥同步
    CentOS 6 bochs-2.6 gdb 调试 linux 0.11——bochsrc-fd1-gdb.bxrc
    vim+xxd=强大的十六进制编辑器
    【t043】成绩查询
    【u251】心灵的抚慰
    【t041】距离之和
    【t086】防护伞
    Java Web整合开发(37) -- SVN
    ubuntu命令
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5111382.html
Copyright © 2011-2022 走看看