ViperT
22.10.07, 15:48
Hi,
ich bastel mir in letzter Zeit immer mehr Bash Scripte,
dabei habe ich aber immer wieder Probleme, wenn ich Parameter für Funktionen oder externe Programme "dynamisch" zusammenstelle.
Ich habe mal ein kleines Beispiel geschrieben:
#!/bin/bash
function f {
echo $1
echo $2
echo $3
}
params="\"Hallo Welt\""
params+=" \"Hallo Himmel\""
params+=" Hölle"
echo Params: $params
f $params
Eigentlich würde ich erwarten, dass die Ausgabe durch die Funktion f sowas wie
Hallo Welt
Hallo Himmel
Hölle
ist. Aber statt die " zu berücksichtigen, trennt er gnadenlos bei allen Leerzeichen auf. Die Ausgabe wird dann:
~ $ /tmp/b
Params: "Hallo Welt" "Hallo Himmel" Hölle
"Hallo
Welt"
"Hallo
Meine Frage ist jetzt, wie bekomme ich ihn dazu, die Parameterliste so auszuwerten, wie ich es eigentlich erwarte?!
Meine Parameter stelle ich meist auf unterschiedlich weise zusammen, aber ich hab oft das Problem, dass ich Leerzeichen mit drin habe, die ich übergeben muss und die nicht als Trenner zu behandeln sind.
Ich hoffe ihr könnt mir dabei helfen, irgentwie fehlen mir wohl die passenden Suchworte um mit der Forensuche oder Suchmaschinen auf einen grünen Zweig zu kommen :(
thx, MfG ViperT
ich bastel mir in letzter Zeit immer mehr Bash Scripte,
dabei habe ich aber immer wieder Probleme, wenn ich Parameter für Funktionen oder externe Programme "dynamisch" zusammenstelle.
Ich habe mal ein kleines Beispiel geschrieben:
#!/bin/bash
function f {
echo $1
echo $2
echo $3
}
params="\"Hallo Welt\""
params+=" \"Hallo Himmel\""
params+=" Hölle"
echo Params: $params
f $params
Eigentlich würde ich erwarten, dass die Ausgabe durch die Funktion f sowas wie
Hallo Welt
Hallo Himmel
Hölle
ist. Aber statt die " zu berücksichtigen, trennt er gnadenlos bei allen Leerzeichen auf. Die Ausgabe wird dann:
~ $ /tmp/b
Params: "Hallo Welt" "Hallo Himmel" Hölle
"Hallo
Welt"
"Hallo
Meine Frage ist jetzt, wie bekomme ich ihn dazu, die Parameterliste so auszuwerten, wie ich es eigentlich erwarte?!
Meine Parameter stelle ich meist auf unterschiedlich weise zusammen, aber ich hab oft das Problem, dass ich Leerzeichen mit drin habe, die ich übergeben muss und die nicht als Trenner zu behandeln sind.
Ich hoffe ihr könnt mir dabei helfen, irgentwie fehlen mir wohl die passenden Suchworte um mit der Forensuche oder Suchmaschinen auf einen grünen Zweig zu kommen :(
thx, MfG ViperT