Hermann Huber
2008-06-30 07:52:31 UTC
Hallo Gruppe!
In einem Script möchte ich die Parameter für einen dortigen
Programmaufruf anhand der übergebenen Argumente dynamisch erstellen.
Dem Script kann eine beliebige Anzahl an Parametern übergeben werden.
Aus diesen Parametern sollen die Parameter für den weiteren Aufruf
erstellt werden.
Meine gewünschte Logik wäre so, dass aus dem Aufruf
script.sh arg1 arg2 arg3
innerhalb des Script der Aufruf
program -o arg1 -o arg2 -o arg3 entsteht.
(Im Grunde soll also jedem Parameter ein -o vorangestellt werden)
Derzeit habe ich mein Problem so gelöst, dass ich in einer Schleife alle
Parameter durchlaufe und aus den Parametern arg1 arg2 arg3 eine Variable
preparedargs zusammensetze, in der am Ende des Durchlaufs der String "-o
arg1 -o arg2 -o arg3" steht.
Am Schluss rufe ich dann das Programm mit dem Kommando
program $preparedargs
auf.
Leider aber werden dem Programm so nicht die 6 Parameter übergeben,
sondern nur einer, der den gesamten String enthält.
Als ob ich das Programm mit dem Kommando
program "-o arg1 -o arg2 -o arg3"
aufrufen würde.
Gibt es für mein Problem irgend eine Lösung?
Gruß
Hermann
In einem Script möchte ich die Parameter für einen dortigen
Programmaufruf anhand der übergebenen Argumente dynamisch erstellen.
Dem Script kann eine beliebige Anzahl an Parametern übergeben werden.
Aus diesen Parametern sollen die Parameter für den weiteren Aufruf
erstellt werden.
Meine gewünschte Logik wäre so, dass aus dem Aufruf
script.sh arg1 arg2 arg3
innerhalb des Script der Aufruf
program -o arg1 -o arg2 -o arg3 entsteht.
(Im Grunde soll also jedem Parameter ein -o vorangestellt werden)
Derzeit habe ich mein Problem so gelöst, dass ich in einer Schleife alle
Parameter durchlaufe und aus den Parametern arg1 arg2 arg3 eine Variable
preparedargs zusammensetze, in der am Ende des Durchlaufs der String "-o
arg1 -o arg2 -o arg3" steht.
Am Schluss rufe ich dann das Programm mit dem Kommando
program $preparedargs
auf.
Leider aber werden dem Programm so nicht die 6 Parameter übergeben,
sondern nur einer, der den gesamten String enthält.
Als ob ich das Programm mit dem Kommando
program "-o arg1 -o arg2 -o arg3"
aufrufen würde.
Gibt es für mein Problem irgend eine Lösung?
Gruß
Hermann