跳过导航链接 | |
退出打印视图 | |
系统管理指南:高级管理 Oracle Solaris 10 8/11 Information Library (简体中文) |
Command not found 消息表示存在以下情况之一:
命令在系统中不可用。
命令目录不在搜索路径中。
要解决搜索路径问题,您需要知道存储命令的目录的路径名。
如果找到了该命令的错误版本,则一个包含同名命令的目录会出现在搜索路径中。在这种情况下,正确的目录可能稍后会出现在搜索路径中,或者根本不会出现。
使用 echo $PATH 命令可以显示当前的搜索路径。例如:
$ echo $PATH /home/kryten/bin:/sbin:/usr/sbin:/usr/bin:/usr/dt:/usr/dist/exe
使用 which 命令可以确定您所运行的命令是否是一个错误版本。例如:
$ which acroread /usr/doctools/bin/acroread
注 - which 命令在 .cshrc 文件中查找路径信息。如果从 Bourne 或 Korn shell 中执行 which 命令,并且有一个 .cshrc 文件中包含 which 命令的别名,则该命令可能会提供误导性的结果。为确保结果的准确性,请在 C shell 中使用 which 命令,或在 Korn shell 中使用 whence 命令。
$ echo $PATH
如果需要更正路径,请转到步骤 3。否则,请转到步骤 4。
|
|
$ which command
示例 19-1 诊断和更正搜索路径问题
此示例显示执行 which 命令后发现,mytool 可执行文件并不存在于搜索路径中的任何目录内。
venus% mytool mytool: Command not found venus% which mytool no mytool in /sbin /usr/sbin /usr/bin /etc /home/ignatz/bin . venus% echo $PATH /sbin /usr/sbin /usr/bin /etc /home/ignatz/bin venus% vi ~/.cshrc (Add appropriate command directory to the search path) venus% source .cshrc venus% mytool
如果找不到某一命令,请在手册页中查看其目录路径。例如,如果找不到 lpsched 命令(lp 打印机守护进程),lpsched(1M) 手册页会告知您路径是 /usr/lib/lp/lpsched。