名称

        which - 展示(shell)命令的完整路径。

用法

        which [options] [--] programname [...]

描述

        which 接受一个或多个参数。对于它的每个参数,它会将在 shell 提示符下输入此参数            时将执行的可执行文件的完整路径打印到标准输出。它通过使用与 bash 相同的算法在          环境变量 PATH 中列出的目录中搜索可执行文件或脚本来实现这一点。

选项

        --all,-a

                打印 PATH 中所有匹配的可执行文件。

        --read-alias,-i

                从标准输入读取别名,把匹配的那些输出到标准输出。这与使用 which 本身的别                    名结合使用时非常有用。例如:alias which="alias | which -i"。

        --skip-alias

                忽略"--read-alias"选项。这对于显式搜索普通二进制文件很有用,同时使用
                which 的别名或函数中的 '--read-alias' 选项。

        --read-functions

                从标准输入读取shell函数定义,把匹配的输出到标准输出。这与使用 which 本身                    的别名结合使用时非常有用。

                例如:

                which() { declare -f | which --read-functions $@ }
                export -f which

        --skip-functions

                忽略"--read-functions"选项。这对于显式搜索普通二进制文件很有用,同时使用
                which 的别名或函数中的 '--read-functions' 选项。

        --skip-dot

                跳过 PATH 中以"."开头的目录。

        --skip-tilde

                跳过 PATH 中以波浪号开头的目录和驻留在 HOME 目录中的可执行文件。

        --show-dot

                如果一个 PATH 中的目录以"."开头,且为该路径找到了一个匹配的可执行文件,                    打印"./programname" 而不是完整路径。

        --show-tilde

                当一个目录匹配 HOME 目录,输出一个波浪号。如果以root用户执行which,忽略                  此选项。

        --tty-only

                如果不在 tty 上,则停止右侧的处理选项。

        --version,-v,-V

                打印版本信息,然后退出。

        --help

                打印帮助文档,然后退出。

使用示例:

[root@server ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@server ~]# which bash
/usr/bin/bash
[root@server ~]# which mysql
/usr/bin/mysql
Logo

更多推荐