From 96f5040dfea85a207b09ca5a0b49d12acade6f59 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Sun, 7 Sep 2025 11:33:37 +0200 Subject: [PATCH 1/5] append.sh und remove.sh --- arrays/append.sh | 11 +++++++++++ arrays/remove.sh | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100755 arrays/append.sh create mode 100755 arrays/remove.sh diff --git a/arrays/append.sh b/arrays/append.sh new file mode 100755 index 0000000..121c64a --- /dev/null +++ b/arrays/append.sh @@ -0,0 +1,11 @@ +#! /usr/bin/bash + +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") + +echo "Länge family,vorher: ${#family[@]}" + +family+=(Herb) # Element anfügen. + +echo "family=${family[@]}" +echo "Länge family,nachher: ${#family[@]}" + diff --git a/arrays/remove.sh b/arrays/remove.sh new file mode 100755 index 0000000..86de9ee --- /dev/null +++ b/arrays/remove.sh @@ -0,0 +1,11 @@ +#! /usr/bin/bash + +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") + +echo "Länge family,vorher: ${#family[@]}" + +unset family[2] + +echo "family=${family[@]}" +echo "Länge family,nachher: ${#family[@]}" + From 0d67903acf8bceda3102be049aee34d88d562908 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Sun, 7 Sep 2025 14:15:56 +0200 Subject: [PATCH 2/5] array Demos --- arrays/access.sh | 16 +++++++++++++++ arrays/associative_array.sh | 10 ++++++++++ arrays/define.sh | 20 +++++++++++++++++++ arrays/iterate.sh | 39 +++++++++++++++++++++++++++++++++++++ arrays/length.sh | 8 ++++++++ arrays/merge.sh | 16 +++++++++++++++ arrays/slice.sh | 6 ++++++ arrays/sort.sh | 22 +++++++++++++++++++++ 8 files changed, 137 insertions(+) create mode 100755 arrays/access.sh create mode 100755 arrays/associative_array.sh create mode 100755 arrays/define.sh create mode 100755 arrays/iterate.sh create mode 100755 arrays/length.sh create mode 100755 arrays/merge.sh create mode 100755 arrays/slice.sh create mode 100755 arrays/sort.sh diff --git a/arrays/access.sh b/arrays/access.sh new file mode 100755 index 0000000..098c84f --- /dev/null +++ b/arrays/access.sh @@ -0,0 +1,16 @@ +#! /usr/bin/bash + +# Array of numbers +fib=(0 1 2 3 5 8) + +#Array of Strings +family=("Marge","Homer","Bart","Lisa","Maggie") + +# outputs only element 0 +echo "fib=${fib}" +# output the whole array +echo "fib=${fib[@]}" + +#output element by index +echo "fib[4]=${fib[4]}" + diff --git a/arrays/associative_array.sh b/arrays/associative_array.sh new file mode 100755 index 0000000..5fa6c4d --- /dev/null +++ b/arrays/associative_array.sh @@ -0,0 +1,10 @@ +#! /usr/bin/bash + +declare -A family +family=([father]="Homer" [mother]="Marge" [son]="Bart" [daughter]="Lisa" [baby]="Maggie") + + +echo "Iterating through associative array using while loop:" +while IFS= read -r key && IFS= read -r value <&3; do + echo "Key: $key, Value: $value" +done < <(printf '%s\n' "${!family[@]}") 3< <(printf '%s\n' "${family[@]}") diff --git a/arrays/define.sh b/arrays/define.sh new file mode 100755 index 0000000..cce0f07 --- /dev/null +++ b/arrays/define.sh @@ -0,0 +1,20 @@ +#! /usr/bin/bash + +a1=(0 1 2 3 4) +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") + +echo "a1=${a1[@]}" +echo "family=${family[@]}" +echo "Länge family: ${#family[@]}" + +# Define an Array with declare -a +declare -a sbc +sbc[0]="Raspberry Pi" +echo "Länge sbc: ${#sbc[@]}" +echo "sbc=${sbc[@]}" +sbc[1]="Orange Pi" +echo "Länge sbc: ${#sbc[@]}" +echo "sbc=${sbc[@]}" +sbc[2]="Banana Pi" +echo "Länge sbc: ${#sbc[@]}" +echo "sbc=${sbc[@]}" diff --git a/arrays/iterate.sh b/arrays/iterate.sh new file mode 100755 index 0000000..82ea38b --- /dev/null +++ b/arrays/iterate.sh @@ -0,0 +1,39 @@ +#! /usr/bin/bash + +# Array of numbers +fib=(0 1 2 3 5 8) + +#Array of Strings +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") + +# Einfache for Schleife + +for name in "${family[@]}" + do + echo "for: name=${name}" + done +echo "---" +# C-ähnliche Schleife im Index +len=${#family[@]} + +for ((i=0;i < len; i++));do + echo "for-i: name=${family[i]},i= ${i}" +done +echo "---" + +# while Schleife +counter=0 + +while [ ${counter} -lt ${len} ]; do + echo "while: name=${family[counter]},counter=${counter}" + ((counter++)) +done +echo "---" + +# until Schleife +counter=0 + +until [ $counter -ge $len ]; do + echo "until: ${family[counter]}" + ((counter++)) +done diff --git a/arrays/length.sh b/arrays/length.sh new file mode 100755 index 0000000..491df5b --- /dev/null +++ b/arrays/length.sh @@ -0,0 +1,8 @@ +#! /usr/bin/bash + +a1=(0 1 2 3 4 5) +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") + +echo "Größe family: ${#family[@]}" +echo "Größe a1: ${#a1[@]}" + diff --git a/arrays/merge.sh b/arrays/merge.sh new file mode 100755 index 0000000..68086ee --- /dev/null +++ b/arrays/merge.sh @@ -0,0 +1,16 @@ +#! /usr/bin/bash + +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") +neighbours=("Ned" "Maude" "Todd" "Rod") + + +echo "family=${family[@]}" +echo "Länge family: ${#family[@]}" + +echo "neighbours=${neighbours[@]}" +echo "Länge neighbours: ${#neigbours[@]}" + +merged=(${family[@]} ${neighbours[@]}) + +echo "merged=${merged[@]}" +echo "Länge merged: ${#merged[@]}" diff --git a/arrays/slice.sh b/arrays/slice.sh new file mode 100755 index 0000000..7b71bdc --- /dev/null +++ b/arrays/slice.sh @@ -0,0 +1,6 @@ +#! /usr/bin/bash + +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") + +echo "Kinder: ${family[@]:2:4}" +echo "Eltern: ${family[@]:0:2}" diff --git a/arrays/sort.sh b/arrays/sort.sh new file mode 100755 index 0000000..35ce4b0 --- /dev/null +++ b/arrays/sort.sh @@ -0,0 +1,22 @@ +#! /usr/bin/bash + +family=("Marge" "Homer" "Bart" "Lisa" "Maggie") +neighbours=("Ned" "Maude" "Todd" "Rod") + + +echo "family=${family[@]}" +echo "Länge family: ${#family[@]}" + +echo "neighbours=${neighbours[@]}" +echo "Länge neighbours: ${#neigbours[@]}" + +merged=(${family[@]} ${neighbours[@]}) + +echo "merged=${merged[@]}" +echo "Länge merged: ${#merged[@]}" + +# sorting the merged array + +sorted=($(printf "%s\n" "${merged[@]}" | sort -n)) + +echo "sorted=${sorted[@]}" From 4bd2566b04a45f71410d31a1848a91c5c7610a16 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Mon, 8 Sep 2025 09:33:48 +0200 Subject: [PATCH 3/5] declare ausgelagert. --- arrays/{define.sh => create.sh} | 0 arrays/declare.sh | 13 +++++++++++++ 2 files changed, 13 insertions(+) rename arrays/{define.sh => create.sh} (100%) create mode 100755 arrays/declare.sh diff --git a/arrays/define.sh b/arrays/create.sh similarity index 100% rename from arrays/define.sh rename to arrays/create.sh diff --git a/arrays/declare.sh b/arrays/declare.sh new file mode 100755 index 0000000..2fe4144 --- /dev/null +++ b/arrays/declare.sh @@ -0,0 +1,13 @@ +#! /usr/bin/bash + +declare -a sbc +sbc[0]="Raspberry Pi" +echo "Länge sbc: ${#sbc[@]}" +echo "sbc=${sbc[@]}" +sbc[1]="Orange Pi" +echo "Länge sbc: ${#sbc[@]}" +echo "sbc=${sbc[@]}" +sbc[2]="Banana Pi" +echo "Länge sbc: ${#sbc[@]}" +echo "sbc=${sbc[@]}" + From ff7035cd22c342243e00d805565bc1b38faa617e Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Mon, 15 Sep 2025 09:37:35 +0200 Subject: [PATCH 4/5] =?UTF-8?q?power.sh=20f=C3=BCr=20mehrdimensionale=20Ar?= =?UTF-8?q?rays.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arrays/.gitignore | 2 ++ arrays/access.sh | 1 + arrays/create.sh | 12 +----------- arrays/declare.sh | 1 + arrays/iterate.sh | 2 ++ arrays/length.sh | 1 + arrays/power.sh | 38 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 arrays/.gitignore create mode 100755 arrays/power.sh diff --git a/arrays/.gitignore b/arrays/.gitignore new file mode 100644 index 0000000..b05de43 --- /dev/null +++ b/arrays/.gitignore @@ -0,0 +1,2 @@ +*.bak + diff --git a/arrays/access.sh b/arrays/access.sh index 098c84f..4be343b 100755 --- a/arrays/access.sh +++ b/arrays/access.sh @@ -1,4 +1,5 @@ #! /usr/bin/bash +# File: access.sh # Array of numbers fib=(0 1 2 3 5 8) diff --git a/arrays/create.sh b/arrays/create.sh index cce0f07..cf97cbb 100755 --- a/arrays/create.sh +++ b/arrays/create.sh @@ -1,4 +1,5 @@ #! /usr/bin/bash +# File: create.sh a1=(0 1 2 3 4) family=("Marge" "Homer" "Bart" "Lisa" "Maggie") @@ -7,14 +8,3 @@ echo "a1=${a1[@]}" echo "family=${family[@]}" echo "Länge family: ${#family[@]}" -# Define an Array with declare -a -declare -a sbc -sbc[0]="Raspberry Pi" -echo "Länge sbc: ${#sbc[@]}" -echo "sbc=${sbc[@]}" -sbc[1]="Orange Pi" -echo "Länge sbc: ${#sbc[@]}" -echo "sbc=${sbc[@]}" -sbc[2]="Banana Pi" -echo "Länge sbc: ${#sbc[@]}" -echo "sbc=${sbc[@]}" diff --git a/arrays/declare.sh b/arrays/declare.sh index 2fe4144..f777ff0 100755 --- a/arrays/declare.sh +++ b/arrays/declare.sh @@ -1,4 +1,5 @@ #! /usr/bin/bash +# File: declare.sh declare -a sbc sbc[0]="Raspberry Pi" diff --git a/arrays/iterate.sh b/arrays/iterate.sh index 82ea38b..ba9f118 100755 --- a/arrays/iterate.sh +++ b/arrays/iterate.sh @@ -1,4 +1,5 @@ #! /usr/bin/bash +# File: iterate.sh # Array of numbers fib=(0 1 2 3 5 8) @@ -13,6 +14,7 @@ for name in "${family[@]}" echo "for: name=${name}" done echo "---" + # C-ähnliche Schleife im Index len=${#family[@]} diff --git a/arrays/length.sh b/arrays/length.sh index 491df5b..e3610db 100755 --- a/arrays/length.sh +++ b/arrays/length.sh @@ -1,4 +1,5 @@ #! /usr/bin/bash +# File: length.sh a1=(0 1 2 3 4 5) family=("Marge" "Homer" "Bart" "Lisa" "Maggie") diff --git a/arrays/power.sh b/arrays/power.sh new file mode 100755 index 0000000..2a48438 --- /dev/null +++ b/arrays/power.sh @@ -0,0 +1,38 @@ +#! /usr/bin/bash +# Datei: power.sh + +declare -A power + +# 1. Zeile (Orange Pi Zero 2W), x-Index: 0 + +power[0,0]="Orange Pi Zero 2W" +power[0,1]="1,014" +power[0,2]="1,99" + +# 2. Zeile (Banana Pi BPI-F3) x-Index: 1 +power[1,0]="Banana Pi BPI-F3" +power[1,1]="3,6" +power[1,2]="6,8" + +# 3. Zeile (Raspberry Pi 16GB), x-Index: 2 +power[2,0]="Raspberry Pi 16GB" +power[2,1]="2,25" +power[2,2]="8,0" + +# 4. Zeile (Radxa Zero), x-Index: 3 +power[3,0]="Radxa Zero" +power[3,1]="-" +power[3,2]="-" +# 2. Spalte: Stromaufnahme Leerlauf + +# 3. Spalte: Stromaufnahme unter Last +power[2,3]="" + +printf "%-25s %-10s %-10s\n" "SBC" "idle" "load" + +#printf 'SBC\tload\tidle\n'; +for ((x=0; x<4; x++)) +do + printf "%-20s %-10s %-10s\n" "${power[${x},0]}" "${power[${x},1]}W" "${power[${x},2]}W" +done + From e2346fa32f4a60bfc866e8063be73775be6dae88 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Mon, 15 Sep 2025 09:50:35 +0200 Subject: [PATCH 5/5] =?UTF-8?q?Aufger=C3=A4umt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arrays/power.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/arrays/power.sh b/arrays/power.sh index 2a48438..ed93147 100755 --- a/arrays/power.sh +++ b/arrays/power.sh @@ -25,12 +25,8 @@ power[3,1]="-" power[3,2]="-" # 2. Spalte: Stromaufnahme Leerlauf -# 3. Spalte: Stromaufnahme unter Last -power[2,3]="" - printf "%-25s %-10s %-10s\n" "SBC" "idle" "load" -#printf 'SBC\tload\tidle\n'; for ((x=0; x<4; x++)) do printf "%-20s %-10s %-10s\n" "${power[${x},0]}" "${power[${x},1]}W" "${power[${x},2]}W"