Uruchom komendę systemową w rubinie i wejdź z nią w interakcję

Muszę uruchomić polecenie w wierszu poleceń, który prosi o odpowiedź użytkownika. W przypadku, gdy pomaga to polecenie:

gpg --recipient "Some Name" --encrypt ~/some_file.txt

kiedy to uruchomisz, ostrzega przed czymś, a następnie pyta:

Czy mimo to używasz tego klucza? (tak / nie)

Odpowiadając „y”, zakończmy to poprawnie. Próbowałem użyćklejnot open4 ale nie udało mi się uzyskać prawidłowego określenia „y”. Oto, co próbowałem:

Open4::popen4(cmd) do |pid, stdin, stdout, stderr|
  stdin.puts "y"
  stdin.close

  puts "pid        : #{ pid }"
  puts "stdout     : #{ stdout.read.strip }"
  puts "stderr     : #{ stderr.read.strip }"
end

Co ja robię źle? Czy to, co robię, jest możliwe?

questionAnswers(2)

yourAnswerToTheQuestion