我正在寻找一种方法,让 aptitude(1) 在安装软件包时保持安静。我希望它只在出现明确错误时才产生输出。-q 选项在大多数其他程序中都可以做到这一点,但在 aptitude 中显然不行。
我的目标是能够说:
someprogram: You need to install the foobar package for this to work.
$ sudo aptitude install foobar -yq &
并且不要让屏幕充满文本。我知道> /dev/null
,但这似乎是一种丑陋的做法,而我认为这应该是一项非常常见的任务。
答案1
> /dev/null
实际上是标准关闭程序的方法。
输出重定向(无论是到文件还是到位存储桶)确实是一项常见任务,这就是为什么单字符 >
操作符是在 Unix shell 中引入的。(在其前身 Multics 中,必须iocall attach ...
在前后运行单独的命令来设置和删除重定向。)
Unix shell 执行常见任务的另一个功能是脚本和功能。如果您只想缩短命令,请使用:
inst() { sudo aptitude install "$@" -yq > /dev/null & }
这将允许您使用 安装 东西。inst package