This man page is generated from the file which.texinfo.
Tag | Description |
---|---|
--all, -a | |
Print all matching executables in PATH, not just the first. | |
--read-alias, -i | |
Read aliases from stdin, reporting matching ones on
stdout. This is useful in combination with using an
alias for which itself. For example
alias which='alias | which -i'. | |
--skip-alias | |
Ignore option `--read-alias', if any. This is useful to explicity search for normal binaries, while using the `--read-alias' option in an alias or function for which. | |
--read-functions | |
Read shell function definitions from stdin, reporting matching
ones on stdout. This is useful in combination with using a shell
function for which itself. For example:
which() { declare -f | which --read-functions $@ } export -f which | |
--skip-functions | |
Ignore option `--read-functions', if any. This is useful to explicity search for normal binaries, while using the `--read-functions' option in an alias or function for which. | |
--skip-dot | |
Skip directories in PATH that start with a dot. | |
--skip-tilde | |
Skip directories in PATH that start with a tilde and executables which reside in the HOME directory. | |
--show-dot | |
If a directory in PATH starts with a dot and a matching executable was found for that path, then print "./programname" rather than the full path. | |
--show-tilde | |
Output a tilde when a directory matches the HOME directory. This option is ignored when which is invoked as root. | |
--tty-only | |
Stop processing options on the right if not on tty. | |
--version,-v,-V | |
Print version information on standard output then exit successfully. | |
--help | |
Print usage information on standard output then exit successfully. |
[ba]sh:
which () { (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ } export -f which |
[t]csh:
alias which 'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' |
This will print the readable ~/ and ./ when starting which from your prompt, while still printing the full path when used from a script:
> which q2 ~/bin/q2 > echo `which q2` /home/carlo/bin/q2 |
Advertisements |