C
chakaa
Grünschnabel
Hallo,
ich sitze schon wieder S-t-u-n-d-e-n an einem vermeintlich trivialen Problem.
Ich habe hier ein Programm vmrun (von vmware), für das ich ein komfortableres Aufruf-Script schreiben will.
Das Programm braucht - je nach Modus - zwischen 2 und 5 Parameter.
Leider kommt es nicht damit zurecht, wenn man ihm zu viele "" Parameter übergibt
Also sowas wie
führt zu einem Fehler, wenn z.B. nur 3 Parameter erwartet werden. $4 und $5 sind dann leer, und es würde "" "" übergeben. Damit kommt das dusslige Programm nicht zurecht.
ich müsste halt Folgendes bekommen
Sorry für die längliche Erklärung, aber das musste sein. Vielleicht bin ich ja mit meinem Lösungsversuch grundsätzlich auf dem Holzweg, und es kann mir jemand was Einfacheres zeigen.
Ich schaffe es nicht, """$4""" (samt Anführungszeichen) in eine Variable zu bekommen. (Die Anführungszeichen sind nötig wegen Leerzeichen usw.)
Die Variable (ich nenne sie mal $p4) hätte dann also entweder den Inhalt "+Argument4+", oder sie wäre halt leer.
(Testen kann man das übrigens, indem man vor die Zeile ein echo schreibt, und das Script mit bash -x aufruft. Bash zeigt dann 'einfache' Anführungszeichen an. Und die müssen bei leeren Parametern weg ;-)
Fällt jemandem irgendeine Möglichkeit ein, die Aufrufzeile zusammenzubasteln?
ich sitze schon wieder S-t-u-n-d-e-n an einem vermeintlich trivialen Problem.
Ich habe hier ein Programm vmrun (von vmware), für das ich ein komfortableres Aufruf-Script schreiben will.
Das Programm braucht - je nach Modus - zwischen 2 und 5 Parameter.
Leider kommt es nicht damit zurecht, wenn man ihm zu viele "" Parameter übergibt
Also sowas wie
PHP:
vmrun -T server -h """$HOST""" -u """$username""" -p """$password""" """$1""" """$2""" """$3""" """$4""" """$5"""
führt zu einem Fehler, wenn z.B. nur 3 Parameter erwartet werden. $4 und $5 sind dann leer, und es würde "" "" übergeben. Damit kommt das dusslige Programm nicht zurecht.
ich müsste halt Folgendes bekommen
PHP:
vmrun -T server -h """$HOST""" -u """$username""" -p """$password""" """$1""" """$2""" """$3"""
Sorry für die längliche Erklärung, aber das musste sein. Vielleicht bin ich ja mit meinem Lösungsversuch grundsätzlich auf dem Holzweg, und es kann mir jemand was Einfacheres zeigen.
Ich schaffe es nicht, """$4""" (samt Anführungszeichen) in eine Variable zu bekommen. (Die Anführungszeichen sind nötig wegen Leerzeichen usw.)
Die Variable (ich nenne sie mal $p4) hätte dann also entweder den Inhalt "+Argument4+", oder sie wäre halt leer.
(Testen kann man das übrigens, indem man vor die Zeile ein echo schreibt, und das Script mit bash -x aufruft. Bash zeigt dann 'einfache' Anführungszeichen an. Und die müssen bei leeren Parametern weg ;-)
Fällt jemandem irgendeine Möglichkeit ein, die Aufrufzeile zusammenzubasteln?