码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux:环境变量


    基本概念

    环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。
    环境变量通常具有某些特殊用途,通常具有全局特性,可以被子进程继承下去

    常见的环境变量

    PATH : 指定命令的搜索路径
    HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
    SHELL : 当前Shell,它的值通常是/bin/bash。

    环境变量的相关命令

    1. echo: 显示某个环境变量值
    2. export: 设置一个新的环境变量
    3. env: 显示所有环境变量
    4. unset: 清除环境变量
    5. set: 显示本地定义的shell变量和环境变量

    在这里插入图片描述
    通过env查看所有环境变量:
    在这里插入图片描述
    **为什么有些指令可以直接执行,不需要带路径,而我们的二进制程序需要带路径才能执行,以ls为例,在shell输入ls时,首先它会从PATH环境变量中查找,
    在这里插入图片描述
    它会在这些路径下去寻找ls程序,按照路径找到的第一个ls程序就会被执行。首先要知道的是,执行一条命令诸如mv,cp,本质上也是运行一个程序。
    我自己写的程序必须要加./才能执行,./指明编译器在当前目录寻找hello程序。
    在这里插入图片描述
    可以将我们的程序所在路径加入环境变量PATH当中在这里插入图片描述
    另一个新增环境变量的指令:export [环境变量名称] =$[环境变量名称]:[新增的环境变量],上面这些都是临时修改、只在当前终端有效。

    获取环境变量

    每个程序都会收到一张环境表,环境表是一个字符指针数组(char* env[]),每个指针指向一个以’\0’结尾的环境字符串。

    1. main函数:命令行的第三个参数。
      在这里插入图片描述

    在这里插入图片描述
    2. 通过第三方变量environ获取

    在这里插入图片描述
    libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。

    系统也给了我们getenv和putenv来获取或设置环境变量

    #include 
    #include 
    int main()
    {
    	printf("%s\n", getenv("PATH"));
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(下)
    SPDK vhost-user结合SPDK NVMe-oF RDMA性能调优
    春风吹又生的开源项目「GitHub 热点速览」
    PS磨皮神器更新为Portraiture V3中文汉化版(仅64位) 。
    软件压力测试:测试方法与步骤详解
    【数据结构】图的应用:最小生成树;最短路径;有向无环图描述表达式;拓扑排序;逆拓扑排序;关键路径
    JVM基础面试题第一篇
    消息队列常见问题
    数据结构与算法一:开篇
    Thrift 实践1:编译安装篇
  • 原文地址:https://blog.csdn.net/ll1175555/article/details/127641384
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号