最近我的一个 bash 脚本失败了,因为cmake
和zip
/unzip
没有安装在系统上。
检查$PATH
env 中已安装的软件包的便捷方法是什么?
我想$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
如果您的脚本供公众使用,那么您显然应该记录先决条件,以便其他人能够在运行代码之前安装依赖项。