环境变量的基础认识

本文详细解析了Linux环境变量的原理、常见变量如PATH、HOME和SHELL,以及如何通过echo、export、env和unset等指令进行操作。特别介绍了环境变量的全局特性及在程序参数传递中的作用。
摘要由CSDN通过智能技术生成

环境变量


为什么系统的命令不需要带路径呢?----->环境变量(PATH)

  • 用:当分隔符,而且要查看需要加上$,不加查看不了echo &PATH在这里插入图片描述

常见环境变量

环境变量本质是OS在内存/磁盘文件中开辟的空间,用来保存系统相关数据(简单理解就是变量名+变量内容)

  • PATH:指定命令的搜索路径
  • HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
  • SHELL : 当前Shell,它的值通常是/bin/bash
  • 系统上还存在一种变量,是与本次登录(session)有关的变量,只在本次登录有效(本地变量),像之前写的一些脚本就是创建了一个本地变量(例:count=0; while [ $count -le 10]; do echo $count; let count++; done 这就定义了一个本地变量echo $count可以查看值)

和环境变量的相关指令
  1. echo: 显示某个环境变量或者本地变量值
    • 查看本地变量:echo $my_env
    • 查看环境变量:echo $PATH
  2. export: 设置一个新的环境变量 (内存级)
    • 将本地变量导成环境变量
      • export myval(本地变量名)
    • 用法:export PATH=$PATH: /home/xifeng/…(路径)
  3. env: 显示所有环境变量
  4. unset: 清除环境变量
    • 取消本地或者环境变量
  5. set: 显示本地定义的shell变量(本地变量)和环境变量
  6. myval(本地变量) 只对本次登录有效

环境变量的获取和操作

首先,先引入几个点:我们知道main函数是可以带参数的,一般是:int main(int argc,char * argv[]),我们可以在命令行上传各种参数------那么为什么要这样传呢?---->同一个程序可以通过带不同的命令行参数来使其执行不同的功能在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 指令有很多选项,用来完成同一个命令的不同子功能,选项底层使用的就是命令行参数!!

  • 获取环境变量

    • getenv()获取环境变量(推荐)在这里插入图片描述在这里插入图片描述

    • 代码有几种形式

      int main()
      {
          extern char **environ;
          for(int i=0;environ[i];i++)
          {
              printf("%d-->%s\n",i,environ[i]);
          }
      }
      

    在这里插入图片描述在这里插入图片描述

环境变量通常是具有全局属性的
  • 命令行上启动的进程,子进程pid会变,但父进程都是bash(子进程的环境变量都是来自于bash)
  • 环境变量具有“全局属性”根本原因是因为环境变量是可以被子进程继承的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值