linux环境变量相关命令及函数接口

系统环境变量相关的访问接口

关于什么是环境变量,以及它的作用。笔者就不解释了,自行百度吧,下面总结了有关环境变量的一些命令以及函数接口。

控制台下操作环境变量相关命令

  1. printenv命令:打印所有的环境变量。
  2. env命令:在修改某些环境变量后执行指定的命令。
    1. 格式:env [OPTION]… [-] [NAME=VALUE]… [COMMAND [ARG]…]
    2. []表示可选的选项。所以可以忽略。
    3. env PATH=/usr/bin perl --version
  3. export命令:修改、添加环境变量。
    1. eg:export PATH=$PATH:mypath
  4. 使用echo $环境变量来打印单个环境变量。
    1. eg:echo $PATH

环境变量相关的用户空间接口函数

  1. char *getenv(const char *name)
    1. 描述:获取名称为name环境变量的值。
    2. name:指定要获取的环境变量。
    3. return:返回要获取环境变量的值。如果没有定义,则返回NULL.
  2. int putenv(char *string)
    1. 描述:添加或者删除指定的环境变量。
    2. string:如果string的格式为name=value表示添加名称为name的环境变量。否则删除所指定的环境变量。
      1. 注意:这样设置的环境变量保存在string实体中。如果动态的改变此实体,环境变量也动态的改变。同时需要注意环境变量的作用范围。
    3. return:如果成功返回零。
  3. int setenv(const char *name, const char *value, int overwrite)
    1. 描述:添加或者修改指定的环境变量。
    2. name:要添加或者修改的环境变量。
    3. value:环境变量的内容。
    4. overwrite:如果不为零,当name在环境变量中已经存在时,会替换。否则不替换。
    5. return:如果成功返回零。
    6. 注意:不同于putenv(),它设置的环境变量直接保存在了环境变量中。所以修改value实体也不会发生变化。
  4. int unsetenv(const char *name)
    1. 描述:删除指定的环境变量。
    2. return:成功返回0.
  5. int clearenv (void)
    1. 描述:删除所有的环境变量。
    2. return:成功返回0.
  6. char **__environ全局变量
    1. 此全局变量中保存这所有的环境变量。它是指向一个字符串数组。每个字符串的格式为name=value.最后一个字符串为NULL.
    2. 需要包含头文件unstd.h
    3. 下面是通过它打印所有的环境变量
    for(int i = 0; __environ[i]!=NULL; i++){
        printf("%2d.%s\n",i,__environ[i]);
    }

linux系统环境变量

可以使用printenv`命令查看自己系统下相关环境变量的值。下面是常见环境变量的说明。

  1. HOME:用户的home目录路径。也就是默认工作路径。
  2. LOGNAME:用户登录名。
  3. PATH:全局路径。系统除了在当前目录下面寻找需要的文件外,还会到PATH中指定的路径去找。
  4. TERM:这指定了接收程序输出终端的类型。在图形界终端界面下它的值通常是xterm。
  5. LANG:设置语言、字符编码等本地默认属性。
  6. TZ:时间相关的时区设置。

关于技术交流

此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏、点赞、评论。二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

theboynoName

感谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值