wjping119 发表于 2006-3-15 20:56:03

请问命令的查找的顺序是怎样的

sbin,bin,usr/bin,usr/sbin,usr/local/sbin,usr/local/bin,usr/X11R6/bin这些目录
查找的顺序是怎样的,与写在/etc/profile文件中的先后顺序相关吗?比如每一个目录中都有一个相同命令的文件,那执行的究竟是哪一个目录中的呢?普通用户和root用户应该是不同的,那又是怎么查找的?



# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"

# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in
# the $PATH.Some means of connection don't add these by default (sshd comes
# to mind).

VirusCamp 发表于 2006-3-15 21:54:20

echo $PATH

看看顺序. 这个可能在
/etc/profile
/etc/bashrc
~/.profile
~/.bashrc
里面设置.

wjping119 发表于 2006-3-15 22:36:59

感谢你的及时回复
可是你没有明白我的意思,我觉得帖子里说的很明白了。

hew 发表于 2006-3-16 10:02:11


与写在/etc/profile文件中的先后顺序相关吗?


好像正是如此,你可以自己写个脚本放在不同目录测试一下嘛。

VirusCamp 发表于 2006-3-16 10:27:00

怎么?

搜索顺序确实是 $PATH 里的顺序.
如果两个目录里都有,当然用前一个目录里的.

root 一般比一般用户多 /sbin:/usr/sbin

/etc/profile
/etc/bashrc
~/.profile
~/.bashrc
在这些里面都可能设置 PATH
有的是
PATH=.....:$PATH
有的是
PATH=$PATH:......
根据这些脚本执行顺序,最后才有一个 PATH.
页: [1]
查看完整版本: 请问命令的查找的顺序是怎样的