PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : shellscript: parameterübergabe an funktion



macolo
28-04-2002, 15:57
hallo

ich versuche an eine funktion im gleichen script einen parameter zu übergeben:

------- snip ------

case $1 in

1) whichdonkey="donkey";donkeyfolder="donkey";;
2) whichdonkey="donkey2";donkeyfolder="donkey_shareit";;
ngb) whickdonkey="donkey3";donkeyfolder="donkey_ngb";exceptions $2;;
*) echo "invalid parameter: $1";echo "USE: donkey [1,2] [start,stop,restart,upda

esac

---- snip ------

die funktion sieht so aus:

exceptions ($secondparam)
{
echo "exception!"

echo "$secondparam"

exit 0

}

ich möchte die vordefinierte variable in die funktion exceptions übernehmen, weil $2 in der funktion nicht mehr definiert ist.

aber da funktioniert was nicht. ich kriege: syntax error near unexpected token `($secondparam)'

greets

macolo

ponzellus
28-04-2002, 16:26
hi!
da $1 ja der 1. parameter der aktuellen funktion ist, und $2 der 2., etc brauchst du der "exceptions" funktion nicht extra sagen, das sie einen parameter erwartet ( ich weiss nicht, ob das in der bash ueberhaupt geht, da kenn ich mich nicht so aus ;)).
aber so funktioniert es:
du machst aus
exceptions ($secondparam)
exceptions ()

und aus
echo "$secondparam"
echo "$1"

ausserdem musst der code der exceptions-funktion vor die case-answeisung, damit die bash die funktion an der stelle kennt :)

MfG ponzellus

macolo
28-04-2002, 19:16
das geht eben nicht. $2 ist in der funktion nicht definiert, komischerweise. wenn ich
echo $2 in die funktion schreibe, dann gibt er bei der ausführung einfach eine leerzeile aus, die variable ist also nicht definiert.

greets

macolo

anda_skoa
28-04-2002, 20:36
ponzellus meinte, dass die Funktion ihre Parameter genauso anspricht, wie das script, also
$1 für den ersten Parameter.

Darum ist auch $2 bei dir nicht definiert, weil du exception nur mit einem Parameter aufrufst :9

Ciao,
_

macolo
28-04-2002, 20:47
ach daaaaaaaaas!

lol

das ging jetzt aber lange. *g*

danke leute ;)

greets

macolo

great, es funzt vorzüglich!

sorry leute, ich hatte die scheuklappen an. :)

ponzellus
28-04-2002, 20:52
hehe, das geht mir auch ab und zu so ;)