1
我有一个通过管道运行的脚本,它似乎不想捕获用户输入。使用管道时ruby捕获输入
这是最简单的例子:
echo "gets.chomp" | ruby
-:1: private method `chomp' called for nil:NilClass (NoMethodError)
的目标是确认操作(你确定你想这样做,是/否?)。如何在使用管道时捕获输入?
我有一个通过管道运行的脚本,它似乎不想捕获用户输入。使用管道时ruby捕获输入
这是最简单的例子:
echo "gets.chomp" | ruby
-:1: private method `chomp' called for nil:NilClass (NoMethodError)
的目标是确认操作(你确定你想这样做,是/否?)。如何在使用管道时捕获输入?
$标准输入= IO.new(IO.sysopen( '的/ dev/tty的', 'R'), 'R')
感谢你们这里有一些内容丰富的文章,我在[Whilebot](https://robots.thoughtbot.com/io- in-ruby)和[StackExchange](http://unix.stackexchange.com/questions/18239/understanding-dev-and-its-subdirs-and-files) – umezo
什么是你想实现什么?给我们更广阔的画面。你从你的shell传入一个字符串“gets.chomp”给ruby解释器。 –
@MB。怎么样'红宝石-e“gets.chomp”'? –
我正在创建一个人可以下载和执行的脚本。 'curl http://something.rb |红宝石'。部分脚本需要确认。我想问问用户:你确定要继续吗?是/否。他写了“是”或“否”,然后查看回复。 –