如何使用管道将STDOUT重定向到Ruby程序?

时间:2018-12-01 07:37:58

标签: ruby bash shell

我刚刚制作了一个看起来像牛仔的程序。 https://www.opendesktop.org/p/1271477/

这需要参数,但是我不能将标准输出重定向到该程序。我想做的是这样的:

cat a_file.txt | cowspeak

echo "Hello" | cowspeak

我已经看到“ lolcat”对此表示支持(我相信使用trollop)。我想从头开始写。我该如何在单个文件中做到这一点?

1 个答案:

答案 0 :(得分:2)

使用gets通过管道从STDOUT接收输入。

创建文件cowspeak.rb:

puts "Cow speaks: " + gets

演示:

❯ echo "hey there" | ruby cowspeak.rb
Cow speaks: hey there