博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
echo $PATH
阅读量:6271 次
发布时间:2019-06-22

本文共 945 字,大约阅读时间需要 3 分钟。

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

转载于:https://blog.51cto.com/13508525/2307022

你可能感兴趣的文章
Cause: org.apache.ibatis.ognl.ExpressionSyntaxException: Malformed OGNL expression:......
查看>>
路由模式 - direct
查看>>
form表单的target属性
查看>>
mysql的常用引擎
查看>>
Linux基础(day40)
查看>>
第二个Java应用和Tomcat的管理功能
查看>>
10.28 rsync工具介绍 10.29/10.30 rsync常用选项 10.31 rsync通过ssh同步
查看>>
使用Layer弹窗时遇到Layer.Close()后dom元素延迟性销毁的问题 @Gyb
查看>>
LVS DR +keepalived配置
查看>>
安装redis.msi 及启动命令
查看>>
k8s集群部署四(部署Flannel网络)
查看>>
C4C和Outlook的集成
查看>>
人脸检测,人脸识别,机器学习库Dlib在VS2015上的详细安装教程,示例运行
查看>>
数组——冒泡排序算法
查看>>
微信H5支付坑一--手续费未结算
查看>>
Spring Cloud Alibaba发布第二个版本,Spring 发来贺电
查看>>
Netty 备录 (一)
查看>>
netfilter 五个表五个链介绍,iptables案例
查看>>
Ubuntu服务器界面认识及创建用户
查看>>
网站如何防止sql注入攻击
查看>>