linux 系统基础

一 环境变量

  • 应用程序的环境变量是从父进程继承过来的;环境变量和值不包含在自身程序中;
  • 环境表是一个字符串指针表;environ 指针指向数组表头;
  • 系统环境变量:
    – 第一种:/etc/prfole.d中添加脚本;(/etc/profile 本质上是遍历运行 profile.d中的脚本,文件 xxx.d 表示默认配置);
    – 第二种:/etc/bashrc种设置环境变量;(xxxrc表示 run
    config)。
  • 用户环境变量:
    – 第一种:/home/.bashrc 文件中(改文件,每次打开一个shell都会运行一次);
    – 第二种:/home/.bash_profile。
  • 环境变量脚本文件的执行顺序如下:
  •  /etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
    
#查看所有环境变量
env 
#查看环境变量
echo $PATH
#设置环境变量
export PATH=$PATH:@HOME/bin

ISO C定义:
getenv("PATH");
putenv("FOOD=tieguodundaeee");  //插入环境变量,存在则修改
setenv("beijing","cicty",0);  //不存在直接添加环境变量,如果环境变量存在,传0,保持原来不变,传非0,修改之前的值
/*修改环境变量,可能需要从 堆中分配空间
1:如果修改环境变量,并且修改后的长度足够放下新的字符串,则只替换原来的环境变量字符串;
2:如果修改环境变量,但是长度增加,需要使用malloc重新分配空间,放置字符串,然后将环境表中对应的指针更新;
3:如果新增环境变量,需要重新分配环境表,并且将原来的表中的值复制过来,再新增环境变量;
*/

//获取环境变量表
extern char **environ;
void penv(char **p_env)
{
    for(char **pp = p_env;*pp;pp++)
    { 
        printf("%s\n",*pp);
    }  
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值