我希望能够通过 shell 脚本判断任何 POSIX 系统上是否存在命令。
在 Linux 上,我可以执行以下操作:
if which <command>; then
...snip...
fi
但是,Solaris 和 MacOS
which
当命令不存在时,不要给出退出失败代码,它们只是向 STDOUT 打印一条错误消息。另外,我最近发现
which
命令本身不是 POSIX(见 http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html)有任何想法吗?
最佳答案
command -v
是一个 POSIX 指定的命令,它可以做什么。
定义为在找不到命令或发生错误时返回>0。
关于unix - 找出 POSIX 系统上是否存在命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762631/