当我们在终端输入一个命令的时候,shell会沿着查找路径$PATH来寻找命令。$PATH是一个以冒号分隔的目录列表,我们可以在列表所指定的目录下找到所要执行的命令。所找到的命令可能是编译后的可执行文件,也可能是shell脚本,从用户的角度来看,两者并无不同。
默认路径(default path)因系统而异。
名称为bin的目录用来保存可执行文件,bin是binary二进制的缩写。
如果我们要编写自己的脚本,最好准备自己的bin目录来存放它们,并且让shell能够自动找到它们,只要建立自己的bin目录,并将它加入$PATH中的列表即可:
运用第一个简单的shell脚本中的例子
如果要将修改永久生效,在用户目录下.profile文件中把自己的bin目录加入$PATH,而每次登陆时shell都将读取.profile文件,例如:
PATH=$PATH:$HOME/bin
$PATH里的空项目(empty componemt)表示当前目录(current directory)。空项目位于路径值中间时,可用两个连续的冒号来表示。如果将冒号直接置于最前端或尾端,可以分别表示查找时最先查找或最后查找当前目录。
PATH=:/bin:/usr/bin..... 先找当前目录
PATH=/bin:/usr/bin.....: 最后找当前目录
PATH=/bin::/usr/bin..... 当前目录居中
但是一般来说,根本就不应该在查找路径中放进当前目录,因为这会有安全上的问题,