Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Rückgabewerte durch Funktionen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Christian
Gast





BeitragVerfasst am: 17. Sep 2002 10:48   Titel: Rückgabewerte durch Funktionen

Hallo,

ich Suche eine Möglichkeit wie ich das Ergebnis einer Funktion
einer Variablen Zuweisen kann, so wie es unter "C" möglich ist.
z.B.
ERGEBNIS=Funktion (a b)

Gibt es eine Möglichlichkeit

Besten Dank im Vorraus

Gruss Christian
 

rattengift
Gast





BeitragVerfasst am: 17. Sep 2002 10:52   Titel: Re: Rückgabewerte durch Funktionen

> ich Suche eine Möglichkeit wie ich das Ergebnis einer Funktion einer Variablen Zuweisen kann

du meinst: in einem bash-script?

> ERGEBNIS=Funktion (a b)

in einer zeile geht es afaik nicht. du musst die func erst aufrufen, dann den return code abfangen:

function a b
ERGEBNIS=$?
 

Christian
Gast





BeitragVerfasst am: 17. Sep 2002 10:59   Titel: Re: Rückgabewerte durch Funktionen

Sorry habe mich glaube ich falsch Ausgedrückt,

Beispiel:

addiere()
{
ERGEBNIS=$(erpr $1 + $2)
}

Jetzt will ich die Funktion aufrufen

addiere 4 5

Und das was raus kommt will ich einer Variablen zuweisen,
nicht über die Variablen in der Funktion gehen, will
das Ergebnis direkt an eine Variable übergeben in der
FORM: VARIABLE=addiere 4 5

Drücke ich mich falsch aus?

Gruss Christian
 

rattengift
Gast





BeitragVerfasst am: 17. Sep 2002 11:24   Titel: Re: Rückgabewerte durch Funktionen

> Drücke ich mich falsch aus?

hm, schwer zu sagen, ich kapier's jedenfalls nicht so ganz

meinst du das?:
code:

addiere ()
{
ERGEBNIS=$(expr $1 + $2)
return $ERGEBNIS
}

addiere 4 5
SUMME=$?
echo SUMME # liefert 9


damit wird die variable ERGEBNIS nur noch lokal (in der function) benutzt. bei so einem einfachen bsp bräuchte man sie gar nicht (direkt: "return $(expr $1 + $2)").

in einer zeile (SUMME=addiere 4 5) gehts nicht.
 

Christian
Gast





BeitragVerfasst am: 17. Sep 2002 11:31   Titel: Re: Rückgabewerte durch Funktionen

Hey thanx
glaube das war es
 

rattengift
Gast





BeitragVerfasst am: 17. Sep 2002 11:31   Titel: Re: Rückgabewerte durch Funktionen

PS: natürlich nicht echo SUMME sondern echo $SUMME
 

namina
Gast





BeitragVerfasst am: 17. Sep 2002 11:49   Titel: Re: Rückgabewerte durch Funktionen

bash:

echo $[$1+$2]
 

Christian
Gast





BeitragVerfasst am: 18. Sep 2002 7:24   Titel: Re: Rückgabewerte durch Funktionen

@rattengift

Habe die Lösung wie es genau sein soll.
Hier zur Info

addiere()
{
local ERGEBNIS=(expr $1 + $2)
echo $ERGEBNIS
}

ERGEBNIS=$(addiere 5 7)

So funktioniert es,
bin aber erst durch deinen Ansatz darauf gekommen.

Danke

Gruss Christian
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy