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
Rückgabewerte durch Funktionen
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=$?
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=$?
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
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
Re: Rückgabewerte durch Funktionen
> Drücke ich mich falsch aus?
hm, schwer zu sagen, ich kapier's jedenfalls nicht so ganz <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
meinst du das?:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
addiere ()
{
ERGEBNIS=$(expr $1 + $2)
return $ERGEBNIS
}
addiere 4 5
SUMME=$?
echo SUMME # liefert 9
</font><hr></pre></blockquote>
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.
hm, schwer zu sagen, ich kapier's jedenfalls nicht so ganz <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
meinst du das?:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
addiere ()
{
ERGEBNIS=$(expr $1 + $2)
return $ERGEBNIS
}
addiere 4 5
SUMME=$?
echo SUMME # liefert 9
</font><hr></pre></blockquote>
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.
Re: Rückgabewerte durch Funktionen
PS: natürlich nicht echo SUMME sondern echo $SUMME
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
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