Forum: PC-Programmierung bash: Funktionsparameter aus Datei einlesen


von Uhu U. (uhu)


Lesenswert?

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?

von Yalu X. (yalu) (Moderator)


Lesenswert?

So etwas ähnliches hatten wir doch erst gestern:
1
function f() {
2
  echo $2
3
}
4
5
while read line
6
do
7
  eval "f $line"
8
done < parameters

von Uhu U. (uhu)


Lesenswert?

Danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.