Führen Sie den Systembefehl in Ruby aus und interagieren Sie damit

Ich muss einen Befehl in der Befehlszeile ausführen, der nach einer Benutzerantwort fragt. Falls es hilft, lautet der Befehl:

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

Wenn Sie dies ausführen, warnt es vor etwas und fragt dann:

Diesen Schlüssel trotzdem benutzen? (J / N)

Wenn Sie mit 'y' antworten, wird der Vorgang korrekt beendet. Ich habe versucht, das zu verwendenopen4 gem aber ich habe es nicht geschafft, das 'y' korrekt anzugeben. Folgendes habe ich versucht:

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

Was mache ich falsch? Ist das, was ich mache, überhaupt möglich?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage