#include <stdio.h>int main(int argc,char *argv[],char **envptr)
{int i=0;for(i=0; envptr[i]!=NULL; i++)printf("%s\n",envptr[i]);return 0;
}

main函数是程序的入口函数,int main(int argc,char *argv[]);

argc是程序参数的个数,argv保存参数

与下边的程序相同的功能

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>extern char **environ;int main(int argc, char **argv)
{char **env = environ;while(*env){printf("%s\n",*env);env++;}printf("HOME: %s\n", getenv("HOME"));return 0;
}

C程序中环境变量相关的函数如下

#include <stdlib.h>char *getenv(const char *name);
int setenv(const char *name, const char *value, int overwrite);
int putenv(char *string);
int unsetenv(const char *name);
int clearenv(void);

参考 man 7 environ
environ全局变量保存用户环境,以上函数可以获取、设置、删除、清空环境变量

响应的shell命令如下
echo $PATH 打印PATH环境变量
export PATH=$PATH:./ 设置环境变量
unset PATH 删除环境变量
env 显示所有环境变量

Linux下environ环境变量操作函数相关推荐

  1. Linux 应用 environ环境变量操作函数

    功能:打印Lunux下面环境变量 #include <stdio.h>int main(void) {extern char **environ; // 声明就能用int i = 0;wh ...

  2. 嵌入式 Linux 入门(七、Linux 下的环境变量)

    嵌入式 Linux 入门第七课,学习理解 linux 的环境变量 ......矜辰所致 前言 学习完 Linux 的 Shell 命令 和 Shell 脚本,我们还需要理解一个东西 :环境变量,理解了 ...

  3. linux下配置环境变量方式

    linux下配置环境变量有多种方式,下面简述之 方式1.编辑 /etc/profile 文件,增加如下内容 JAVA_HOME=/usr/local/jdk1.8 export JAVA_HOME P ...

  4. Linux下修改环境变量

    刚接触Linux,记录一下Linux下修改环境变量的过程. 首先切换到root用户. (1)打开profile文件 ①通过vim打开 vim /etc/profile ②通过文本编辑器打开 gedit ...

  5. linux下jdk环境变量配置深度分析----解决环境变量不生效的问题

    1.linux下jdk环境变量配置 是否需要配置环境变量,主要看java -version 显示的版本是否为你期望的版本 1.1 不需要配置环境变量的情况 使用java -version查看,版本显示 ...

  6. Linux下Java环境变量配置

    在Java开发中,在安装完jdk之后,首先需要做的工作就是进行Java环境变量配置.在Windows下的配置我们都比较熟悉,图形化界面配置起来也相对容易(详见:Windows7下环境变量配置),接下来 ...

  7. Linux下控制环境变量

    查看环境变量 查看某一环境变量:比如我们需要查看HOME这个环境变量,我们可以在shell下直接输入echo $HOME 我们可以把所有的环境变量和环境变量的值都打印出来 打印环境变量 libc中定义 ...

  8. linux某个目录环境变量,在linux下加环境变量或者是把某个目录加到环境变量

    1.直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin查看是否已经设好,可用命令export查看:[[email protect ...

  9. Linux下设置环境变量

    单独查看PATH环境变量,可用: echo $PATH 1 1 方法一:在用户主目录下的 profile或 bashrc文件 sudo gedit ~/.profile 或者 sudo gedit ~ ...

最新文章

  1. WSL windows子系统开启ssh-server服务
  2. Microsoft NLayerApp案例理论与实践 - 项目简“.NET研究”介与环境搭建
  3. 600度近视眼恢复方法_近视眼了怎么办?试试这几种方法,或许能奏效
  4. linux c 定时器
  5. 如何让 Visual Studio Code 里显示 Cypress 的 intelligent code suggestion
  6. 学python用什么软件-零基础初学python需要安装哪些软件?希望对你们有帮助
  7. POJ 1128 Frame Stacking 拓扑排序+暴搜
  8. 拼接图像亮度均匀调整_华邦瀛微色差液晶拼接屏系统解决方案
  9. vue修改默认V型图标
  10. Android平台车牌识别开发手册
  11. linux字符集中文转英文,oracle字符集(英文-中文)转换
  12. 关于学习的三个认知升级
  13. HTML学习笔记4:如何给网页添加图片和超链接
  14. U盘、移动硬盘;固态硬盘、机械硬盘
  15. 笛卡尔的思维法则(数学思维的规范)
  16. 解决Android应用签名和系统不一致的问题
  17. 并查集算法(有趣的讲解)
  18. 分布式游戏服务器通用架构的设计
  19. 组合总和(剪枝算法)
  20. Python大文件切割

热门文章

  1. PID控制器开发笔记之三:抗积分饱和PID控制器的实现
  2. LeetCode删除排序数组中的重复项(Java实现)
  3. java基础 --- Arrays.asList():返回指定数组支持的固定大小列表
  4. 消息队列(1):一个消息队列应该有的特点
  5. python使用spark-sql读取数据并可视化_使用Spark SQL读取HBase上的数据
  6. 水晶报表中对某一栏位值进行处理_合并报表——非同一控制下的企业合并amp;同一控制下的企业合并...
  7. 嵌入式操作系统_航天科工海鹰翼辉嵌入式操作系统获自主原创“身份证”
  8. JAVA入门级教学之(连接运算符)
  9. vue摸板 大数据_Vue和DataV强强联合,这个大数据可视化模板你一定要拥有
  10. reactor模型_Reactor模式以及Netty中的应用