【发布时间】:2012-01-07 03:55:27
【问题描述】:
当我遇到包含以下代码的this answer 时,我正在寻找一种方法来检查是否使用 Shell 脚本安装了程序:
hash foo 2>&- || { echo >&2 "I require foo but it's not installed. Aborting."; exit 1; }
但是该代码不是很(人类)可读,该语法的替代方法是什么?
【问题讨论】:
-
您能否更清楚地了解您想要检查的内容/方式?您想查看 $PATH 中是否有二进制文件/名称吗?您想查看系统中是否安装了特定的 rpm/dpkg?请多解释一下。
-
我想检查
$PATH上的二进制文件/名称 -
知道了。那么下面提到的
hash是一种选择,which是另一种选择。 :) 我同意其他人的观点,代码很好,只需要理解它并在此处和那里添加一些换行符以使其更有意义。您可以根据自己的需要将其剥离很多。