2013-02-22 57 views
0

我有一个代码,在我的bash脚本如何在bash中连续显示命令输出?

OUTPUT=""yum update

echo $OUTPUT

echo $OUTPUT >> mylogfile

yum update是一个很长的命令,没有我的剧本总是输出一些安慰,但在我的脚本它开始,很长一段时间没有输出,并在一段时间后输出大量的数据。 脚本中的任何方法都可以在数据可用时立即输出数据,但是在长时间等待后不能在同一时间输出所有数据?

+0

你“正在遭受缓冲”。我无法测试这个,但尝试将stdout重定向到stderr,这应该是无缓冲的。 'yum update>&2' – cdarke 2013-02-22 09:44:24

回答

3

尝试使用tee

$ yum update | tee mylogfile 

将发送标准输出从yum来两个壳(屏幕)和mylogfile的标准输出。根据需要添加标准错误的重定向。