Git Bash unter Windows verwendet Arrays für mehrere Rückgabewerte
Bash-Code:
#!/bin/bash
## Ein 6-Element-Array zur Rückgabe von Werten aus Funktionen:
declare -a RET_ARR
RET_ARR[0]="A"
RET_ARR[1]="B"
RET_ARR[2]="C"
RET_ARR[3]="D"
RET_ARR[4]="E"
RET_ARR[5]="F"
function FN_MULTIPLE_RETURN_VALUES(){
## Gibt den Positional-Argumenten/Eingaben
## $1 und $2 sinnvolle Namen:
local out_dex_1="$1" ## Ausgabeposition
local out_dex_2="$2" ## Ausgabeposition
## Ausgabe für die Fehlerbehebung:
echo "Ausführen: FN_MULTIPLE_RETURN_VALUES"
## Hier: Berechnung der Ausgabewerte:
local op_var_1="Hallo"
local op_var_2="Welt"
## Setzt die Rückgabewerte:
RET_ARR[ $out_dex_1 ]=$op_var_1
RET_ARR[ $out_dex_2 ]=$op_var_2
}
echo "FN_MULTIPLE_RETURN_VALUES BEISPIELE:"
echo "-------------------------------------------"
fn="FN_MULTIPLE_RETURN_VALUES"
out_dex_a=0
out_dex_b=1
eval $fn $out_dex_a $out_dex_b ## <-- Funktionsaufruf
a=${RET_ARR[0]} && echo "RET_ARR[0]: $a "
b=${RET_ARR[1]} && echo "RET_ARR[1]: $b "
echo
## ---------------------------------------------- ##
c="2"
d="3"
FN_MULTIPLE_RETURN_VALUES $c $d ## <--Funktionsaufruf
c_res=${RET_ARR[2]} && echo "RET_ARR[2]: $c_res "
d_res=${RET_ARR[3]} && echo "RET_ARR[3]: $d_res "
echo
## ---------------------------------------------- ##
FN_MULTIPLE_RETURN_VALUES 4 5 ## <--- Funktionsaufruf
e=${RET_ARR[4]} && echo "RET_ARR[4]: $e "
f=${RET_ARR[5]} && echo "RET_ARR[5]: $f "
echo
##----------------------------------------------##
read -p "Drücke Enter zum Beenden:"
Erwartete Ausgabe:
FN_MULTIPLE_RETURN_VALUES BEISPIELE:
-------------------------------------------
Ausführen: FN_MULTIPLE_RETURN_VALUES
RET_ARR[0]: Hallo
RET_ARR[1]: Welt
Ausführen: FN_MULTIPLE_RETURN_VALUES
RET_ARR[2]: Hallo
RET_ARR[3]: Welt
Ausführen: FN_MULTIPLE_RETURN_VALUES
RET_ARR[4]: Hallo
RET_ARR[5]: Welt
Drücke Enter zum Beenden: