Beispiel:
declare -a tab
typeset -i index
i=0
${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