从add-apt-repository中删除输出

我正在尝试编写一个shell脚本,它将自动为我设置一个LAMP堆栈。 我在脚本中的一条线是:

add-apt-repository -y ppa:ondrej/php5-oldstable >> /tmp/output.txt 

但请尽量尝试输出以下内容:

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

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

使用输出重定向到/dev/null并包含stderr输出。

 add-apt-repository -y ppa:ondrej/php5-oldstable > /dev/null 2>&1 
  • 2>&1将告诉Bash将stderr重定向到stdout
  • command > file stanza将stdout重定向到文件,在本例中为/dev/null
  • /dev/null是Linux的黑洞 – 你将无法从那里恢复任何东西。

结果:完全静默执行命令。

在您更新的问题中,您似乎将所有输出记录到文件中。 在这种情况下,您只需将2>&1附加到当前行:

 add-apt-repository -y ppa:ondrej/php5-oldstable >> /tmp/output.txt 2>&1 

这是因为您正在查看在终端上打印的stderr输出,您还需要将其重定向到日志(否则您将错过所有错误!)。