找不到包时打印错误消息的 Shell 脚本

问题描述

我正在编写一个 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
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)