which takes a list of names and determines which alias or utility would be executed had these names been given as commands.
For each name operand, if it names an alias the alias is expanded. Otherwise the user's path is searched for a utility name matching name. Aliases are taken from the user's .cshrc file. path is taken from the current shell execution environment.
The following operand is supported:
The name of a command to be located.
The following exit values are returned:
One or more name operands were not located or an error occurred.
source of aliases and path values
See attributes(5) for descriptions of the following attributes:
A diagnostic is given for names which are aliased to more than a single word, or if an executable file with the argument name was not found in the path.
The which utility is not a shell built-in command.
To compensate for ~/.cshrc files in which aliases depend upon the prompt variable being set, which sets this variable to NULL. If the ~/.cshrc produces output or prompts for input when prompt is set, which can produce some strange results.