0 Pluspunkte 0 Minuspunkte

Ich möchte die Ausgabe von einem system Befehl in einer Variable speichern

result = system("ls -l")
if result
  puts "Ausgabe: #{result}"
else
  puts "Fehler beim Ausführen des Befehls"
end

wenn ich das aber ausführe wird die Ausgabe direkt angezeigt und erst danach steht die eigentliche Ausgabe mit der Variable.

total 4
-rw-r--r-- 1 root root 116 Aug 10 14:52 test.rb
Ausgabe: true

Wie kann ich die Ausgabe des Befehls (also den Inhalt des Verzeichnis) in einem String speichern ohne ihn gleich beim aufrufen des Befehls anzuzeigen?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Wenn du die tatsächliche Ausgabe des Befehls speichern möchtest, kannst du die Backtick Syntax verwenden.

output = `ls -l`
puts "ausgabe: #{output}"

von