代码之家  ›  专栏  ›  技术社区  ›  Nagireddy Hanisha

检查是否安装了软件包

  •  2
  • Nagireddy Hanisha  · 技术社区  · 7 年前

    我正在使用 package-name -v 查看输出是否包含“未找到命令”。如果输出中确实包含“未找到命令”,我必须这样做:

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

    的价值 bml_check 总是显示为空。有人能帮忙吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   M. Becerra    7 年前

    那是因为 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