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

dan*_*451 1 bash path

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

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

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

Kus*_*nda 5

正如在“为什么不使用“which”?然后使用什么? “中提到的,测试是否在其中找到命令的最便携方法$PATH是通过:

if command -v given-command > /dev/null 2>&1; then
  echo given-command is available
else
  echo given-command is not available
fi
Run Code Online (Sandbox Code Playgroud)

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