【问题标题】:How to use dpkg in silent mode如何在静默模式下使用 dpkg
【发布时间】:2017-05-01 13:09:08
【问题描述】:

我尝试在运行脚本之前测试是否在我的脚本中安装了某些软件包。 通过 dpkg 命令来做到这一点。这是我的代码:

dpkg -s dialog
dialogStatut=$?

if [ "$dialogStatut" -eq 1 ]; then
    //Install package
fi 

我想让 dpkg 处于静默模式(没有回声)。 我试图把 >&- 2>&- 放在命令后面,但如果我这样做,值总是 2(如果安装了对话框)。

我在 man dpkg 中找不到解决方案。 最好的方法是什么?

【问题讨论】:

    标签: bash dpkg


    【解决方案1】:

    你正在寻找 2> /dev/null

    if ! dpkg -s dialog 2> /dev/null; then
        ...
    fi
    

    考虑退出脚本以明确安装dialog,而不是让脚本负责这样做。

    【讨论】:

      【解决方案2】:

      我会做类似的事情

      dpkg -l dialog &>/dev/null || apt-get install dialog
      

      具有 OR(||) 的特殊性如果第一个条件的计算结果为真(即退出状态为零),则不会计算第二个条件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多