环境变量概念

环境变量:操作系统它在运行某个程序的时候,所指定的描述运行环境的参数。
如:我们在编写C/C++代码时,在链接的时候,从来不知道我们所链接的动态/静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关的环境变量来帮助编译器进行查找。
描述一下环境变量的结构是什么样子的?键(key)值(value)对
环境变量在操作系统中就是按照键值对的结构来进行组织的。其中,等号左边的就是key,右边的就是value。

PATH:指定命令的搜索路径
你写好一个程序,编译后直接敲下可执行程序的名字,结果是未找到该命令,必须得通过“./可执行程序名”的方式才能运行,没有“./”就不行,因为直接敲下的指令操作系统会在一些特定的目录中来查看这里的可执行程序是否存在。
我们之前所敲过的指令,大部分都是操作系统中内置的一些可执行程序,只不过这些可执行程序都在特定的目录中,从而能够让我们直接只敲可执行程序名,而不用带路径,就能够执行它们。
这些的特殊目录在哪描述着?就是在PATH环境变量中。所谓的“特定的目录”,就是通过PATH环境变量来描述的。
echo $PATH:只打印PATH环境变量的值,在代码里面是通过getenv函数根据key来找到的。
在这里插入图片描述
还可以通过env指令,只不过env指令是打印出所有的环境变量。
模拟 env 指令,打印出所有环境变量
在这里插入图片描述
or
在这里插入图片描述
PATH的值是一组目录拼接在一起的结果
如果想要让你自己写的程序能够像系统指令一样直接只敲程序名就能执行,前提需要把最终生成的可执行程序放到PATH描述的路径中,
我们就放到/uer/bin这样的目录里
cp 可执行程序名 /usr/bin
失败,权限不够
ll /usr/bin -d
都没有写权限,不用修改权限,直接root
root用户在Linux中可以为所欲为,什么权限都可以被无视
你再开一个窗口,直接敲下可执行程序名还是可以用的

还有一种方法是:
export指令能够操作环境变量,对环境变量进行修改,
export PATH=/home/ming/process/path
这样的话就把PATH原有的内容覆盖掉了,这不科学。
一般这样做,export PATH=$PATH:/home/ming/process/path,这相当于是字符串的拼接,在原有的PATH基础上加上一个":"再加上新路径。但只在当前的窗口生效,每个窗口都对应一个bash进程,上述指令修改的就是bash进程的环境变量,但每个bash进程都有一份自己的环境变量。这样的话再开一个窗口,直接敲下可执行程序的名字,结果仍是未找到该命令,因为两个窗口的PATH不同。

解决方式
vim ~/.bashrc
export PATH=$PATH:/home/process/path写进去
因为.bashrc是bash的配置文件,每次创建一个新的bash进程都会读取该文件的内容,从而执行到里面的这些代码。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值