ich habe eigentlich keine Ahnung von Ruby, möchte aber jetzt ein kurzes Script schreiben, das folgendes leisten soll:
Ich habe ein in Ruby geschriebenes Script, dass installiert werden musste. Dabei wurde eine Datei namens download. Nun kann ich diese Datei in ein beliebiges Verzeichnis kopieren und über den Shell Befehl
download URL
einen Download starten.
Mein Versuch in Ruby sieht bisher so aus:
url = gets
system "download url"
Dann wird aber nicht die eingegebene URL für die Variable eingesetzt, sondern als URL der String „url“ verwendet, was natürlich nicht funktioniert.
Kann mir jemand sagen, wie ich das bewerkstellige??
Oder gibt es vielleicht eine noch elegantere Lösung?? Immerhin geht es ja um ein Ruby Script, dass ich da aus einem Ruby Script starten will.
Dann wird aber nicht die eingegebene URL für die Variable
eingesetzt, sondern als URL der String „url“ verwendet, was
natürlich nicht funktioniert.
Wenn Du in Ruby etwas in Anführungszeichen setzt, wird die Variable url nicht interpretiert, sondern als Bestandteil des Strings angesehen. Um das zu erreichen, was Du offenbar möchtest, musst Du das so schreiben
system "download #{url}"
gut möglich, daß Du auch noch das Zeilenvorschubzeichen, das wegen gets dranhängt, mit chomp entfernen musst, also z.B. so:
url = gets.chomp
Oder gibt es vielleicht eine noch elegantere Lösung??
Bestimmt. Aber um das zu entscheiden, müsstest Du schon mehr vom Kontext zeigen als diese zwei Zeilen.
geht es ja um ein Ruby Script, dass ich da aus einem Ruby
Script starten will.
Vielleicht ist es gar nicht notwendig, daß Du diesen etwas umständlich anmutenden Weg gehst, ein Ruby-Skript aus einem Ruby-Skript zu starten.