Ruby-Flucht-ARGV-argument oder einen string als argument für shell-Befehl

Ok das macht mich verrückt:

`ls #{"/media/music/Miles Davis"}`

schlägt fehl, da der Raum zwischen "Km" und "Davis"

Sagen, ich schreiben Sie ein ruby-script und einen Benutzer übergibt Datei-Pfad als argument. Wie kann ich entkommen und Futter zu einem shell-Befehl aus. Ja, ja, ich weiß, Beschuss aus, sollten vermieden werden. Aber das ist ein erfundenes Beispiel, ich muss noch dies.

Ich tun würde system("ls", ARGV[0]) ist, aber es nicht zurückgeben, die stdout Ausgabe von ls als string, das ist, was backticks gut tun.

Wie Flucht, was auch immer Sie legen in einem shellout?

InformationsquelleAutor ulver | 2011-08-03
Schreibe einen Kommentar