检查软件包是否已安装

时间:2018-02-01 13:32:12

标签: bash if-statement package

我正在使用package-name -v查看输出是否包含"命令未找到"。如果输出确实包含"命令未找到",我必须做类似的事情:

#!/bin/bash
bml_check="$(bml -v)"
echo $bml_check

bml_check的值始终显示为空。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

这是因为只有stdout保存在变量上,而不是stderr

您必须将两者都保存在变量中:

#!/bin/bash
bml_check="$(bml -v 2>&1)"
echo "bml_check -> $bml_check"

将产生:

bml_check -> file.sh: line 2: bml: command not found