If a command name contains no slashes, the shell attempts to locate it. If there exists a shell function by that name, the function is invoked as described below (see section Functions). If there exists a shell builtin by that name, the builtin is invoked.
Otherwise, the shell searches each element of
path for a directory
containing an executable file by that name. If the search is
unsuccessful, the shell prints an error message and returns a nonzero
If execution fails because the file is not in executable format, and the
file is not a directory, it is assumed to be a shell script.
/bin/sh is spawned to execute it. If the program is a file
#!, the remainder of the first line specifies an
interpreter for the program. The shell will execute the specified
interpreter on operating systems that do not handle this executable
format in the kernel.
Go to the first, previous, next, last section, table of contents.