我正在编写一个 shell 脚本,我需要在执行任何操作之前检查是否安装了一些依赖项。我发现我可以用which <package>
它来查看它是否已安装。问题是,当找不到该依赖项时,它会将以下错误抛出到控制台的输出中:
which: no abc in (/home/pace/.emacs.d/bin:/usr/local/bin:/home/pace/.emacs.d/bin:/usr/local/bin:/home/pace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:...)
我想避免这样的输出,因为我已经在某些事情失败时显示了错误消息。我怎样才能避免which
写任何东西?
function is_installed() {
if [[ ! $(which $1) ]]
then
echo "[ERROR]: $1 $2"
exit 1
fi
}