In der Datei parameters stehen die Parameter für den Funktionsaufruf.
Die Funktion soll nur den 2. Parameter per echo ausgeben.
Die Datei sieht folgendermaßen aus:
1 | param1 param2 param3
|
2 | param1 "parameter 2" param3
|
3 | param1 'parameter 2' param3
|
1 | function f() {
|
2 | echo $2
|
3 | }
|
4 |
|
5 | while read line
|
6 | do
|
7 | f $line
|
8 | done < parameters
|
Das Skript erzeugt folgende Ausgabe:
1 | param2
|
2 | "parameter
|
3 | 'parameter
|
Wie bringt man es bash bei, daß Quotes in $line interpretiert werden
sollen, ohne daß es Probleme mit ungequoteten Parametern gibt?