如何在 bash 脚本中检查已安装软件的 $PATH?

如何在 bash 脚本中检查已安装软件的 $PATH?

最近我的一个 bash 脚本失败了,因为cmakezip/unzip没有安装在系统上。

检查$PATHenv 中已安装的软件包的便捷方法是什么?

我想$PATH直接检查cmake等等,因为我的脚本运行在 Debian、Ubuntu、Arch 等上。因此,我宁愿不使用包管理器,因为我必须根据当前执行脚本的发行版使用dpkg, , ... 多次实现它。pacman

答案1

正如《为什么不用“哪个”呢?那该用什么呢?”,测试是否找到命令的最便携方法$PATH是通过:

if command -v given-command > /dev/null 2>&1; then
  echo given-command is available
else
  echo given-command is not available
fi

如果您的脚本供公众使用,那么您显然应该记录先决条件,以便其他人能够在运行代码之前安装依赖项。

相关内容