如何正确传送“ bundle exec rake ...”命令的输出

时间:2018-08-27 20:53:53

标签: ruby-on-rails bash grep pipe rake

我像这样奔跑

be rake fix_pf_administrator_pct_assets

rake任务是大型Rails应用程序的一部分。

代码中有一个循环,一个睡眠, 所以我得到了脚本的“实时”输出。

但是,如果我这样做

be rake fix_pf_administrator_pct_assets | grep mydebugprint

我必须等到整个脚本完成后才能看到结果。

如何能够实时输出脚本,同时能够进行grep 以获得有趣的线条。

1 个答案:

答案 0 :(得分:1)

如果您使用的是带有GNU coreutils的系统,则可以强制rake任务的输出进行行缓冲:(假设“ be”不是shell别名,而是命令)

stdbuf --output=L be rake fix_pf_administrator_pct_assets | grep mydebugprint

stdbuf(1) man page