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 |紅寶石'。部分腳本需要確認。我想問問用戶:你確定要繼續嗎?是/否。他寫了「是」或「否」,然後查看回復。 –