#!/bin/bash # ########################################################### # Copyright (c) 2022 by Manfred Rosenboom # # # # Dieses Werk ist lizenziert unter einer # # Creative Commons Namensnennung 4.0 International Lizenz # # CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/ # ########################################################### # echo "Beispiele: Bash Assoziative Arrays" echo "" echo "Bash Version : ${BASH_VERSION}" echo "LANG : ${LANG}" echo -n "Kernel : " uname -s -r -m echo "" echo "" # ############################################################################### # echo "Anlegen eines leeren Arrays" echo "declare -A aArray" declare -A aArray echo "" # echo "Anlegen eines vorbelegten Arrays" echo "declare -A aArrayPre=( [key1]=val1 [key2]=val2 [key3]=val3 )" declare -A aArrayPre=( [key1]=val1 [key2]=val2 [key3]=val3 ) echo "" # ############################################################################### # echo "Key/Value Paare zu einem Array hinzufügen" echo "aArray[\"key1\"]=\"value1\"" echo "aArray[\"key2\"]=\"value2\"" echo "---" aArray["key1"]="value1" aArray["key2"]="value2" echo "" # ############################################################################### # echo "Zugriff auf ein Element mit dem Schlüssel (key)" echo "echo \"\${aArray[\"key1\"]}\"" echo "echo \"\${aArray[\"key2\"]}\"" echo "---" echo "${aArray["key1"]}" echo "${aArray["key2"]}" echo "" # ############################################################################### # echo "Länge eines Arrays: \${#aArray[@]}" echo "Länge des Arrays aArray : ${#aArray[@]}" echo "Länge des Arrays aArrayPre : ${#aArrayPre[@]}" echo "" # ############################################################################### # echo "Iteration über den Schlüssel (key)" echo "for key in \"\${!aArray[@]}\"" echo "do" echo " echo \"key : \${key}\"" echo " echo \"key : \${key} , value: \${aArray[${key}]}\"" echo "done" echo "---" # for key in "${!aArray[@]}" do echo "key : ${key}" echo "key : ${key} , value: ${aArray[${key}]}" done echo "" # ############################################################################### # echo "Iteration über den Wert (value)" echo "for value in \"\${aArray[@]}\"" echo "do" echo " echo \"value: \${value}\"" echo "done" echo "---" # for value in "${aArray[@]}" do echo "value: ${value}" done echo "" # ############################################################################### # echo "Prüfen, ob ein Schlüssel (key) im Array enthalten ist" echo "if [ \${aArray[key1]+_} ]" echo "then" echo " echo \"key1 gefunden\"" echo "fi" echo "---" # if [ ${aArray[key1]+_} ] then echo "key1 gefunden" fi echo "" # ############################################################################### # echo "Prüfen, ob ein Schlüssel (key) im Array nicht enthalten ist" echo "if [ ! \${aArray[keyNONE]+_} ]" echo "then" echo " echo \"keyNONE nicht gefunden\"" echo "fi" echo "---" # if [ ! ${aArray[keyNONE]+_} ] then echo "keyNONE nicht gefunden" fi echo "" # ############################################################################### # echo "Löschen eines Schlüssels aus einem Array" echo "echo \"\\\${aArray[key1]} : \${aArray[key1]}\"" echo "unset aArray[key1]" echo "echo \"\\\${aArray[key1]} : \${aArray[key1]}\"" echo "---" # echo "\${aArray[key1]} : ${aArray[key1]}" unset aArray[key1] echo "\${aArray[key1]} : ${aArray[key1]}" echo "" # ############################################################################### # echo "Löschen eines Arrays" echo "unset aArray" echo "unset aArrayPre" unset aArray unset aArrayPre echo "" # ############################################################################### # exit 0