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?