2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量



1进程环境

libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时要用extern声明。例如:

运行结果:

2.env命令可以查看进程信息

3.echo $环境变量名 
得出环境变量的值

4getenv()

A依赖头文件

#include<stdlib.h>

B函数声明

char *getenv(constchar *name);

用environ指针可以查看所有环境变量字符串,但是不够方便,如果给出name要在环境变量表中查找它对应的value,可以用getenv函数。

C案例说明:

运行结果:

5setenv()函数和unsetenv()函数

A依赖的头文件

#include <stdlib.h>

B函数声明:

int setenv(constchar *name,const char *value,int rewrite);

voidunsetenv(const char *name);

函数说明:

putenv和setenv函数若成功则返回0,若出错,则返回非0.

 

setenv将环境变量name的值设置为value.如果已存在环境变量name,那么若rewrite非0,则覆盖原来的定义,若rewrite为0,则不覆盖原来的定义,也不返回错误。

 

unsetenv删除name的定义。即使name没有定义也不返回错误。

例:修改环境变量

运行结果:

 

时间: 2024-12-24 11:11:21

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量的相关文章

linux shell脚本 两个变量中间有一个/ 一起输出时前面的变量出不来

问题描述 linux shell脚本 两个变量中间有一个/ 一起输出时前面的变量出不来 配置文件config.txt 内容为: abc=/home/test 计划在shell脚本中获取等号后面的路径,shell脚本如下; #!/bin/bash var=`grep abc /home/test/config.txt` #获取abc开头的一行 echo $var put_path=${put_line##*=} #截取等号后面路径 echo "${put_path}/1.txt" 可以获

php-PHP如何在echo输出时,再解析变量?

问题描述 PHP如何在echo输出时,再解析变量? 举个栗子吧: <?php $a="abc{$xxx}abc"; $xxx="666"; echo $a; ?> 以上代码不成立,不能得到预期的"abc666abc" 检查代码后,个人认为是变量"$xxx"在第一行就已经被解析了, 但是在第一行"$xxx"没有定义,所以得不到值 如何让变量在输出时再解析这个"$xxx"变量,得

《从问题到程序:用Python学编程和计算》——2.3 内置函数和数学函数包

2.3 内置函数和数学函数包 算术运算符提供了最基本的算术计算功能,通过写出复杂的表达式,可以完成许多复杂的计算.另一方面,有些很常用的计算,虽然可以通过简单计算的组合完成,但如果语言能通过某种易用的方式提供这种功能,编程序的人们就更方便了. Python语言里提供方便使用的复杂功能的概念称为函数,这个概念与数学里的函数概念有相似之处.每个函数有一个名字,可以在表达式(或后面的其他结构)里使用.Python语言提供了一组函数(称为内置函数或标准函数),可以在程序里直接用.Python还通过标准库

c++-编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2。

问题描述 编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2. 编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2.例如,输入"jiangsu"."123"和位置3,则输出"ji123angsu". 解决方案 #include <iostream> #include <string> using namespace std; int main(

link环境下,在用codefirst制作的软件中,如何对输出的excel表排序?

问题描述 link环境下,在用codefirst制作的软件中,如何对输出的excel表排序? link环境下,在用codefirst制作的软件中,如何对输出的excel表排序? 解决方案 http://stackoverflow.com/questions/13134490/apache-poi-sorting-rows-in-excel

c-大神们,程序错在哪?我的思路是输入数组将其排序然后输出啊a[1];

问题描述 大神们,程序错在哪?我的思路是输入数组将其排序然后输出啊a[1]; 问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束.然后程序将从这组整数中,把第二大的那个整数找出来,并把它打印出来.说明:(1)0表示输入结束,它本身并不计入这组整数中.(2)在这组整数中,既有正数,也可能有负数.(3)这组整数的个数不少于2个. 输入格式:输入只有一行,包括若干个整数,中间用空格隔开,最后一个整数为0. 输出格式:输出第二大的那个整数. 输入输出样例 样例输入 5 8

java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况

/* 样例1:   class Parent{      int num = 3;   }     class Child extends Parent{      int num = 4;   } */   /* 样例2: class Parent{   }   class Child extends Parent{     int num = 4; } */   /* 样例3: class Parent{     void show(){         System.out.println

全面了解函数声明与函数表达式、变量提升_javascript技巧

函数的声明方式 在定义一个函数的时候通常有两种声明方式: foo(){}; // 函数声明 var foo = function(){}; // 函数表达式 不同之处 1.函数表达式后面加括号可以直接执行 2.函数声明会提前预解析 预解析 让我们先看一个例子: foo(); // 函数声明 foo_later(); // foo_later is not a function function foo(){ console.log('函数声明'); } var foo_later = funct

shell脚本下的echo输出 两变量的差

问题描述 shell脚本下的echo输出 两变量的差 两个数字赋值给两个变量 ,经过计算后,输出他们的差,echo命令怎么写? 解决方案 a=1 b=2 echo $[a-b] 解决方案二: 这是什么shell上用的啊,bat是不支持的