【Linux操作系统】-- 环境变量及 echo $PATH export

【Linux操作系统】-- 环境变量
https://blog.csdn.net/qq_53413129/article/details/123980842

https://blog.csdn.net/qq_45839663/article/details/127349706
echo $PATH

echo $PATH

echo $PATH 显示当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成。如:/usr/local/bin:/bin:/usr/bin。当我们执行程序时,shell自动跟据PATH变量的值去搜索该程序。比如我们现在的工作目录是根目录/ ,有一个程序sunrise在/bin/目录下,我们可以在命令行输入/bin/sunrise 这样来执行它,还可以直接输入sunrise,这时shell会自动去寻找sunrise这个程序所在的完整路径,找到之后才会去执行该程序。shell在搜索时先搜索PATH环境变量中的第一个目录,没找到再接着搜索,如果找到则执行它,不会再继续搜索。

注意:当前工作目录 ./ 一般并未在搜索范围之列,也就是PATH环境变量的值中并不包含./这个当前工作目录。为什么一般不能加入这个当前工作目录呢?主要原因在于安全问题。试想,一个evil 用户在自己的家目录/home/evil/中放了一个名字叫ls的程序,当root用户或其它用户来到这个/home/evil/目录时,想查看这个目录中有些啥子文件,于是执行ls命令,这时如果./目录在PATH环境变量中且搜索时先搜索这个./目录的话,则执行到的程序是/home/evil/ls而不是/bin/ls程序,这样就会造成极大地安全问题。所以我们要避免把./目录加入PATH环境变量之中,不要图一时方便而铸成大错哦!执行当前工作目录中的 program 时还是老老实实的 ./program 这样执行吧!

使用范例:

[tito ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
[tito ~]$ PATH=$PATH:/home/tito/bin #添加/home/tito/bin到PATH环境变量
[tito ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tito/bin
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值