[quote]
[b]关于执行文件路径的变量: $PATH[/b]
我们知道查阅档案属性的指令ls完整文件名为:/bin/ls(这是绝对路径), 那你会不会觉得很奇怪:『为什么我可以在任何地方执行/bin/ls这个指令呢? 』 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH 的帮助所致呀!
当我们在执行一个指令的时候,举例来说『ls』好了,系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行档, 如果在PATH定义的目录中含有多个文件名为ls的可执行档,那么先搜寻到的同名指令先被执行!
现在,请下达『echo $PATH』来看看到底有哪些目录被定义出来了? echo有『显示、印出』的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH !
PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有『顺序』之分的。仔细看一下上面的输出,妳可以发现到无论是root还是vbird都有/bin 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls执行档啰!
[/quote]
[b]关于执行文件路径的变量: $PATH[/b]
我们知道查阅档案属性的指令ls完整文件名为:/bin/ls(这是绝对路径), 那你会不会觉得很奇怪:『为什么我可以在任何地方执行/bin/ls这个指令呢? 』 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH 的帮助所致呀!
当我们在执行一个指令的时候,举例来说『ls』好了,系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行档, 如果在PATH定义的目录中含有多个文件名为ls的可执行档,那么先搜寻到的同名指令先被执行!
现在,请下达『echo $PATH』来看看到底有哪些目录被定义出来了? echo有『显示、印出』的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH !
PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有『顺序』之分的。仔细看一下上面的输出,妳可以发现到无论是root还是vbird都有/bin 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls执行档啰!
[/quote]