从 add-apt-repository 中删除输出,但不隐藏真正的错误

从 add-apt-repository 中删除输出,但不隐藏真正的错误

我正在尝试编写一个脚本来自动安装一些软件包。脚本中有一行是:

sudo apt-add-repository ppa:brightbox/ruby-ng -y > /dev/null 

但无论我怎么尝试,它总是输出以下内容:

gpg: keyring `/tmp/tmpf0k2tr/secring.gpg' created
etc........

我希望有当我运行此命令将此 ppa 添加到我的存储库时,将显示在屏幕上的输出。

我知道我可能隐藏整个 stderr但它也会隐藏真正的问题——我只想摆脱常规日志。

答案1

重定向>只会影响流,而消息的去向sdtout则很明显(否则它们将被隐藏)。因此,没有办法在不影响错误消息的情况下重定向消息。gpgstderrgpg

但是可以通过管道重定向 stderr 并使用 awk 或 grep 过滤输出,忽略以 开头的所有行gpg

sudo apt-add-repository -y ppa:brightbox/ruby-ng 2>&1 > /dev/null | grep -v '^gpg' 

相关内容