Thread Quoting + escaping + bash (8 answers)
Opened by qwe123qwe at 2014-02-26 21:02

Raubtier
 2014-02-26 21:16
#173739 #173739
User since
2012-05-04
1076 Artikel
BenutzerIn
[default_avatar]
Du weißt aber schon, dass "@sys_cmd" nicht die Liste ist, sondern ein mit Leerzeichen interpolierter String der Listenelemente? (bzw. genauer: mit $" interpoliert). Auch weiter oben benutzt du schon "@grafikoptionen", was interpoliert.

Um Quotingprobleme zu vermeiden, solltest du beim System-Aufruf daher ein Liste übergeben und nicht einen String.

Edit: sehe gerade, dass du die Ausgabe umleiten willst. Dann muss man etwas schummeln, damit das auch richtig funktioniert:

Code (perl): (dl )
system("/bin/sh", "-c", q("$@" > datei), "--", @sys_cmd)

Last edited: 2014-02-26 21:32:53 +0100 (CET)

View full thread Quoting + escaping + bash