当前位置: 首页 > news >正文

简单了解一下环境变量(Linux)

当我们想要执行自己编写的程序时,必须使用相对路径 ”./程序名“,或者绝对路径

但是Linux自带的命令(命令就是文件),比如 ”ls“,就不用,系统会自动到 ”/user/bin/“路径下去找对应的文件

然后我们会发现,当我们将自己的程序放到 ”/user/bin/“ 路径下时,调用它也不再需要使用路径,这就引出来一个问题,操作系统怎么会知道自己应该到哪个路径下去找

Linux其中一个存在的环境变量(PATH),就是用来告诉Linux系统要去哪个路径找

使用 ”echo $PATH“ 命令,可以用来查询PATH里的内容

会发现它的内容是以冒号为分割符的一串路径

当用户想要想要执行一个可执行程序时,且该程序没有指明路径,Linux系统就会默认在这里一个一个找路径

也可以将自己的路径拷贝到PATH里(但是不建议,会污染数据)

不要直接赋值(PATH= ),会覆盖原先的路径

而是使用 "PATH=$PATH: 自己的路径"

这是内存级的操作,不会影响配置文件,关掉终端之后回来就会恢复了

环境变量是系统级的变量,变量名和变量内容,往往具有全局性

要么系统全局要么用户全局

env 查看所有环境变量

hostname: 主机名字

histsize: historysize 默认是1000

使用history 可以查看最近使用的1000条命令

shell:具体的命令行解释器,当前shell

oldpwd:记录最近的上一个路径

cd - 可以进入最近一次路径,就是依赖oldpwd

ssh_tty:每次登录的终端都是一个文件,由ssh_tty进行记录该文件名

user:记录当前用户

pwd:记录当前地址

home:记录家目录地址,cd~ 就是依赖它

人身上也有类似环境变量的东西:比如学历、毕业院校、身高,姓名,体重、籍贯等等 (类似变量名)

每个人变量名指向的变量内容是不相同的

变量内容可以改,变量本身存在于整个生命周期

环境变量和进程之间的关系

main函数是有参数的,最多能有三个参数,int argc,char *argv[],char *env[]

env传递了系统级别的所有环境变量表

本质是把环境变量表,传递给进程,通过env就能传递环境变量给到子进程了

另外一种方式让子进程获取环境变量:

语言会提供语言级的全局变量,就比如:errno 用来记录最近的错误信息

environ 也是一个语言级全局变量

environ:char**指针 ,指向环境变量表

还有一种方式,就是getenv

它是系统级别的全局变量

getenv:根据传来的环境变量名遍历环境遍历表,获得环境变量内容,如果没找到就返回NULL

如果环境变量是父进程给到子进程的,那么我们在Linux下创建的程序的环境变量是谁传递给我们的,是bash

命令行参数表和环境变量参数表,实际上就是两个数组,它存在于bash内部,是bash内部的数据

由于bash也是进程,存在于内存,所以这两张表都在内存当中,是临时的,内存级的

那么bash的环境变量,又是从哪里来的:是从Linux系统的配置文件来的

重新登录终端,就是重新加载配置文件到bash,然后形成环境变量表

http://www.dtcms.com/a/525343.html

相关文章:

  • 计算机端口
  • 外贸网站建设有哪些要求网站seo培训
  • 怎么增加网站的收录量成都网站优化多少钱
  • 继续网站建设南宁网页制作招聘
  • 01)PB(PowerBuilder9)学习 设置语法提示、 新建工作空间、应用、window窗体、设置应用启动open event
  • UVa 1336 Fixing the Great Wall
  • 网站开发浏览器关键词优化提升排名
  • 湖北省荆门市城乡建设网站seo代码优化有哪些方法
  • [Python快速入门]基础语法以及使用
  • el-table选中行颜色
  • Flask入门教程——李辉 第5章: 数据库 关键知识梳理
  • 嘉峪关市建设局建管科资质网站网站制作教程
  • 如何免费建设网站列表页面设计模板
  • 通过diskpart强制格式化报错:虚拟磁盘服务错误:卷大小太大
  • 02)PB(PowerBuilder9)学习 连接数据库 开发一个增删改查功能
  • Java 开发 - 扁平化数据转换成树形结构数据(递归查找 + 移除节点、Map + 一次遍历)
  • 探寻企业数字化转型“底座”:技术基石与核心支撑
  • 做网站视频教学最简单的出入库管理软件
  • [MySQL]表——改变数据
  • 第十一篇《IPv4的救星:初识IPv6的地址格式与优势》
  • 好的网站推荐住房和城乡建设部网站施工员证
  • C++开发之责任链模式
  • JVM面试(内存结构,垃圾回收,类载机制)
  • 并发编程案例分析——高性能限流器Guava RateLimiter(四十六)
  • 灵巧手——faive_gym
  • 亚马逊电子配件类目流量瓶颈突破:DeepBI智能优化策略助力流量增长
  • 桂市做网站的朋友自建电商网站有哪些
  • autoware源码编译
  • react nextjs 项目部署
  • 怎样建设网站 需要哪些条件免费的免抠图素材网站