Execute o comando do sistema em ruby e interaja com ele
Eu preciso executar um comando na linha de comando que pede uma resposta do usuário. Caso ajude o comando é:
gpg --recipient "Some Name" --encrypt ~/some_file.txt
quando você executa isso, ele avisa sobre algo e pergunta:
Use esta chave mesmo assim? (y / N)
Respondendo 'y' vamos terminar corretamente. Eu tenho tentado usar ogema open4 mas eu não consegui fazer isso para especificar o 'y' corretamente. Aqui está o que eu tentei:
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
O que estou fazendo de errado? O que estou fazendo é possível?