簡體   English   中英

如何獲取ruby`print`來呼應bash腳本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM