Beispiel: declare -a tab typeset -i index ${tab[index]}
#!/bin/bash #declare [-afFirtx] [-p] [name[=value]] #typeset [-afFirtx] [-p] [name[=value]] # attributes: # -a Jeder name ist eine array variable. # -f Nur function names. # -F Verhindert Ausgabe der Functiondefinition, nur der # Name und die ttribute werden ausgegeben # -i Die Variable wird als Integer behandelt. Wenn der # Variablen ein Wert zugewiesen wird, wird ein eine # arithmetische Auflösung vorgenommen. # -r Der Name wird readonly gesetzt. Danach können der # Variablen keine Werte mehr zugewiesen werden. # D.h. eine Anfangswertvergabe muss gleichzeitig oder # vorher erfolgen. # typeset -ir max=50 # -t Gibt jedem name das trace attribute. Traced functions # erben die DEBUG trap von der aufruefenden shell. # Das trace attribute ist nur für Functions # wichtig und hat keine Bedeutung fuer einfache Variablen. typeset -a tab1 tab2 typeset -i i=0 n=0 function show_tab1 { i=0 n=${#tab1[*]} while (( i < n )) do echo "tab1[$i]="${tab1[i]} ((i = i +1)) done } function show_tab2 { i=0 p=0 n=${#tab1[*]} while (( p < n )) do echo $i " " $p " " $n if [ "${tab1[i]}" != "" ] then echo "tab1[$i]=${tab1[i]}" (( p=p+1 )) fi cont ((i = i +1)) done } cont() { echo -n "" read dummy } tab1[5]="hallo" echo ${tab1[*]} echo ${#tab1[*]} tab1[6]="next" echo ${#tab1[*]} show_tab1 echo " --------------------------" show_tab2