/ / Loguj wszystkie dane wyjściowe z polecenia powłoki - ruby

Rejestruj wszystkie dane wyjściowe z polecenia powłoki - ruby

Piszę skrypt ruby, który dzwoni apt-get. Chciałbym zalogować / wyświetlić wszystkie dane wyjściowe z apt-get dowództwo.

Backticks, %x a reszta w większości zwraca ostateczny wynik (jeśli w ogóle). Przyjrzałem się także serii IO.popen i Open3.popen, ale po pierwszej wiadomości przestają się rejestrować.

Czy istnieje sposób na zrzucenie całego wyjścia, jak to się dzieje z polecenia powłoki?

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz użyć IO :: popen dla tego:

IO.popen("apt-get install foobar") do |apt|
apt.each do |line|
puts line
end
end

Mam nadzieję że to pomoże