====== Array Funktionen in der Shell ====== (Vielen Dank an Axel Sander!) # Datenelement setzen # $1 = Array Grundname # $2 = Position # $3 = Wert set_array() { ARRINT=$(( $2 / $MAXARR )) ARRMOD=$(( $2 % $MAXARR )) ARRNAME=${1}_${ARRINT} ARRTMP="$ARRNAME[$ARRMOD]=$3" eval $ARRTMP } # Datenelement lesen # $1 = Array Grundname # $2 = Position get_array() { ARRINT=$(( $2 / $MAXARR )) ARRMOD=$(( $2 % $MAXARR )) ARRNAME=${1}_${ARRINT} ARRTMP='${'"$ARRNAME[$ARRMOD]"'}' eval print $ARRTMP } # Maximale Größe fuer einzelnen Array MAXARR=4000 Einen Wert im Array GV1ARR speichern: POS1=20 WERT1=123 set_array GV1ARR $POS1 $WERT1 Den Wert lesen: TMP_WERT1=`get_array GV1ARR $POS1` echo $TMP_WERT1 123 ---- Stand: 04.11.2009 EOF