J'ai un script que je veux exécuter avec open4.Problème avec l'utilisation de open4 dans Ruby
Voici le fichier:
scénario#!/usr/bin/env ruby
print "Enter your username: "
username = gets
puts "Here is your username: #{username}"
print "Enter your password: "
password = gets
puts "Here is your password: #{password}"
Alors je lance la CISR et le type:
ruby-1.9.2-p0 > pid, stdin, stdout, stderr = Open4::popen4("./script")
=> [2649, #<IO:fd 9>, #<IO:fd 11>, #<IO:fd 13>]
ruby-1.9.2-p0 > puts stdout.gets
Dans la dernière ligne, je pensais qu'il devrait me donner « Entrez votre nom d'utilisateur : "mais ce n'est pas le cas. L'écran est vide, peu importe ce que je tape. Je peux seulement le terminer avec CTRL + C.
Alors je cours ...
ruby-1.9.2-p0 > puts stdout.gets
... à nouveau, et cette fois il me donne "Entrez votre nom:".
Est-ce que quelqu'un sait pourquoi?