home-harmening:scripts:shell:setze_farben

Dies ist eine alte Version des Dokuments!


#!/bin/bash

nf=„\e[0m“ # ANSI-Sequenz zum Zurücksetzen der Formatierung.

# Assoziatives Array mit verschiedenen Formatierungen. declare -A formats

# Array für die Reihenfolge der Ausgabe, da diese ansonsten durcheinander ist ordered_keys=(

"red" "blue" "yellow" "green"
"uline_red" "uline_blue" "uline_yellow" "uline_green"
"blink_red" "blink_blue" "blink_yellow" "blink_green"
"bground_red" "bground_blue" "bground_yellow" "bground_green"

)

formats=(

# Standardfarben
["red"]="\e[0;31m"
["blue"]="\e[0;34m"
["yellow"]="\e[0;33m"
["green"]="\e[0;32m"
# Unterstrichene Farben
["uline_red"]="\e[4;31m"
["uline_blue"]="\e[4;34m"
["uline_yellow"]="\e[4;33m"
["uline_green"]="\e[4;32m"
# Blinkende Farben (Hinweis: Wird nicht in allen Terminals unterstützt)
["blink_red"]="\e[5;31m"
["blink_blue"]="\e[5;34m"
["blink_yellow"]="\e[5;33m"
["blink_green"]="\e[5;32m"
# Hintergrundfarben
["bground_red"]="\e[0;41m"
["bground_blue"]="\e[0;44m"
["bground_yellow"]="\e[0;43m"
["bground_green"]="\e[0;42m"

)

show_help (){

echo "Zeige deine EIngabe $1"
# Ausgabe der Tabellenüberschrift
echo -e "Name            | Code                  -> Vorschau"
echo -e "-----------------------------------------------------"
# Durchläuft das Array in der definierten Reihenfolge und gibt die Namen, ANSI-Codes und farbige Vorschau aus.
for name in "${ordered_keys[@]}"; do
    printf "%-15s | write %-15s -> ${formats[$name]}Beispiel-Text$nf\n" "$name" "${formats[$name]}"
done
echo
echo 'Ein Aufruf in einem Skript erfolgt mit ${formats[FORMATIERUNG z.B. red,uline_red ...]MEIN TEXT${nf}'
echo
printf 'Ich möchte einen ${formats[red]} roten Text haben ${nf}\n'
printf "Ich möchte einen ${formats[red]}roten Text${nf} haben.\n"

}

if [ „$1“ == „–help“ ]; then show_help ; fi exit