Path 为什么即使包含目录在搜索路径上,也无法识别可执行文件?

Path 为什么即使包含目录在搜索路径上,也无法识别可执行文件?,path,csh,Path,Csh,我的搜索路径(echo$path)上有一个/usr/sbin 我在这个目录中有我的lsof可执行文件。如果我只是在提示符下键入lsof,为什么找不到lsof:command。我正在使用csh。您可以尝试使用rehash,因为我似乎记得csh使用哈希查找可执行文件。尝试/usr/sbin/lsof也将允许您判断这是否是问题所在(或者可能会告诉您实际问题所在) 还要检查lsof和/usr/sbin目录的权限,以确保它们是可执行/可搜索的(尽管这不太可能是问题) 如果做不到这一点,您可能应该等到这个问

我的搜索路径(echo$path)上有一个/usr/sbin


我在这个目录中有我的lsof可执行文件。如果我只是在提示符下键入lsof,为什么找不到lsof:command。我正在使用csh。

您可以尝试使用
rehash
,因为我似乎记得
csh
使用哈希查找可执行文件。尝试
/usr/sbin/lsof
也将允许您判断这是否是问题所在(或者可能会告诉您实际问题所在)

还要检查
lsof
/usr/sbin
目录的权限,以确保它们是可执行/可搜索的(尽管这不太可能是问题)


如果做不到这一点,您可能应该等到这个问题被轻推到SU的位置:-)

您使用的是csh还是tcsh

这能产生什么样的产出?(如果没有tcsh,请将第一行的
tcsh
更改为
csh
,并注释掉
where
命令。)

是否可以在/usr/sbin中运行另一个可执行文件(没有完整路径)?此外,请向我们展示您的实际路径。
#!/bin/tcsh -f

echo 'PATH:'
echo "$PATH" | tr ':' '\n' | sed 's/^/    /'

echo "% which lsof"
which lsof

echo "% where lsof"
where lsof

ls -lgd /usr/sbin /usr/sbin/lsof