使用管道时的ruby捕获输入

使用管道时的ruby捕获输入,ruby,Ruby,我有一个通过管道运行的脚本,它似乎不想捕获用户输入 这是最简单的例子: echo "gets.chomp" | ruby -:1: private method `chomp' called for nil:NilClass (NoMethodError) 目标是确认操作(是否确实要执行此操作?是/否:)。使用管道时如何捕获输入?$stdin=IO.new(IO.sysopen('/dev/tty','r'),'r')$stdin=IO.new(IO.sysopen('/dev/tty'

我有一个通过管道运行的脚本,它似乎不想捕获用户输入

这是最简单的例子:

  echo "gets.chomp" | ruby
 -:1: private method `chomp' called for nil:NilClass (NoMethodError)

目标是确认操作(是否确实要执行此操作?是/否:)。使用管道时如何捕获输入?

$stdin=IO.new(IO.sysopen('/dev/tty','r'),'r')

$stdin=IO.new(IO.sysopen('/dev/tty','r'),'r'))

您试图实现什么?让我们了解更广泛的情况。您正在将文本字符串“get.chomp”从shell传递给ruby解释器。@MB。那ruby-e“gets.chomp”呢??我正在创建一个可以下载并执行的脚本旋度|红宝石'。部分脚本需要确认。我想问用户:您确定要继续吗?是/否。他写“是”或“否”,我检查回答。你说的不对。当您的shell可以轻松完成所有任务时,您不需要在Ruby中完成。请参阅“.我希望用ruby来实现它。您想实现什么?请给我们一个更广阔的图景。您正在将一个文本字符串“get.chomp”从shell传递给ruby解释器。@MB.
ruby-e”get.chomp怎么样“
?我正在创建一个可以下载并执行的脚本。”旋度|红宝石'。部分脚本需要确认。我想问用户:您确定要继续吗?是/否。他写“是”或“否”,我检查回答。你说的不对。当您的shell可以轻松完成所有任务时,您不需要在Ruby中完成。请参阅“。我希望用ruby来完成。谢谢。这里有几篇我从和找到的关于这个主题的信息性文章。这里有几篇我从和找到的关于这个主题的信息性文章