Hallo mal eine Frage zu Funktionen in bash skripten:
Wenn ich z.b Kommandozeilenargumente in einem Shell Skript bearbeiten will kann ich ja das mit den Variablen $1, $1, $X oder $* $# tun. Diese Variablen sind doch normal global oder?
Wenn ich mir dann zb. eine Shell Funtkion schreiben will das die Kommandozeilenargumente auswertet und entsprechenden Variablen zuweist sind diese Variablen in der Shellfunktion leer.
Folgende Funktion liefert bei sh varausgabe 1 2 3 4 nur leere Zeilen
#!/bin/sh
varausgabe()
{
echo "$*"
echo "$#"
echo "$1"
echo "$2"
echo "$3"
}
varausgabe
Nun die Frage ob ich überhaupt diese Variablen in einer Shellfunktion auslesen kann, oder ich sie in eine andere zwischenspeichern muß. Oder muß ich die Argumentvariablen irgendewie exportieren oder setzen, damit sie in Funktionen funktionieren.
Wenn ich das tun muß bräuchte ich halt noch eine Funktion wie shift wo ich dann die einzelnen Paramter in der zwischengespeicherten $* dann durchparsen kann.
Grüße
Frank
bash: Kommandozeilenargumente in Funktion auswerten
- FreakyFrank
- Beiträge: 28
- Registriert: 12.10.2004 15:12:41
versuchs mal so:
Code: Alles auswählen
#!/bin/sh
varausgabe()
{
echo "$*"
echo "$#"
echo "$1"
echo "$2"
echo "$3"
}
varausgabe $*
- FreakyFrank
- Beiträge: 28
- Registriert: 12.10.2004 15:12:41