Moin Stephan,
zwei Punkte:
- ohne eine 'shift'-Anweisung wird die While-Schleife zum Endlos-Loop.
- ohne Parameterübergabe an die Funktion kann 'list' nichts ausgeben.
Probier mal:
#!/bin/bash
list() {
echo $#
while [ $# -gt 0 ]
do
echo $1
done
}
list $*;
# oder
list $@;
Gruß,
Klaus
Stephan Wezorke wrote:
Hallo Leute,
ich würde gerne die Bearbeitung von Parametern $1, $2, usw. in eine Funktion
auslagern, da ich diese an verschiedenen Stellen aufrufe. Dummerweise zählt
die Funktion wohl nicht zum Scope-Bereich. Hat jemand eine Idee, was man da
machen kann?
Hier noch mal ein Beispiel zur Verdeutlichung:
#!/bin/bash
list() {
echo $# # Gibt 0 aus, auch wenn man Parameter übergibt
while [ $# -gt 0 ]
do
echo $1 # Wird entsprechend erst garnicht aufgerufen.
done
}
list;
Gruß Stephan
------------------------------------------------------------------------
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org