[英]How to I get ruby `print` to echo to calling bash script?
我從bash shell腳本中調用ruby,例如
#!/bin/bash
# lots of stuff
ruby script.rb
# more stuff
我希望將在ruby腳本中print
的內容顯示在shell腳本的stdout中,但事實並非如此。 奇怪的是,無論我用p
上沒有顯示出來。 我怎樣才能將其用於print
?
快速答案:使用puts
。
我的猜測是這與STDOUT緩沖有關。 p
立即刷新緩沖區,而print
不刷新。 請改用puts
,它也會刷新,也可以將STDOUT設置為始終使用以下命令全局刷新:
$stdout.sync = true
要根據情況進行flush
,您始終可以自己調用flush
:
print ...
print ...
print ...
$stdout.flush
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.