Table of Contents
A message of Command not found
indicates
one of the following:
The command is not available on the system.
The command directory is not in the search path.
To fix a search path problem, you need to know the pathname of the directory where the command is stored.
If the wrong version of the command is found, a directory that has a command of the same name is in the search path. In this case, the proper directory may be later in the search path or may not be present at all.
You can display your current search path by using the echo $PATH command. For example:
$ echo $PATH
/home/kryten/bin:/sbin:/usr/sbin:/usr/bin:/usr/dt:/usr/dist/exe
Use the which command to determine whether you are running the wrong version of the command. For example:
$ which acroread
/usr/doctools/bin/acroread
The which command looks in the .cshrc
file
for path information. The which command might give misleading results
if you execute it from the Bourne or Korn shell and you have a .cshrc
file
than contains aliases for the which command. To ensure accurate
results, use the which command in a C shell, or, in the Korn shell,
use the whence command.
How to Diagnose and Correct Search Path Problems
Display the current search path to verify that the directory for the command is not in your path or that it isn't misspelled.
$ echo $PATH
Check the following:
If the path needs correction, go to step 3. Otherwise, go to step 4.
Add the path to the appropriate file, as shown in this table.
Shell |
File |
Syntax |
Notes |
---|---|---|---|
Bourne and Korn |
|
|
A colon separates path names. |
C |
or
|
|
A blank space separates path names. |
Activate the new path as follows:
Shell |
File Where Path Is Located |
Use this Command to Activate The Path |
---|---|---|
Bourne and Korn |
|
|
C |
|
|
|
|
|
Verify the new path.
$which
command
Example 26.1. Diagnosing and Correcting Search Path Problems
This example shows that the mytool executable is not in any of the directories in the search path using the which command.
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
If you cannot find a command, look at the man page for its directory path. For
example, if you cannot find the lpsched command (the lp
printer daemon), the
lpsched
(
1M
)
man
page tells you the path is /usr/lib/lp/lpsched
.