Bash重定向到文件

时间:2012-11-08 17:36:24

标签: bash

我正在尝试将命令的输出重定向到文件。我正在使用的命令(zypper)从互联网下载包。我正在使用的命令是

zypper -x -n in geany>> log.txt的

该命令逐渐将输出打印到控制台。我面临的问题是上面的命令在命令完成执行后立即写入命令输出。如何将bash输出重定向到终端,而不是在结尾写入所有命令输出。

2 个答案:

答案 0 :(得分:5)

不是使用bash本身,而是通过tee命令:

zipper -x -n in geany | tee log.txt

答案 1 :(得分:1)

&>> FILE COMMAND

会将COMMAND的输出附加到FILE

在你的情况下

&>>log.txt zypper -x -n in geany 

如果你希望pipe a command通过filter,你必须确保命令输出到1 - 如果它输出到2,你必须在管道之前将2重定向到1。考虑到只有stdout通过管道。

所以你必须这样做:

2>&1 COMMAND | FILTER

如果要grep输出并将其保存到日志文件中,则必须使用tee复制它,并使用filter ... | tee log-file | grep options