diff --git a/post_installation_script/20251212_Nachinstallationsarbeiten_LC_Esslingen_XFCE_v8.sh b/post_installation_script/20251212_Nachinstallationsarbeiten_LC_Esslingen_XFCE_v8.sh index dc3e447..12ac3af 100644 --- a/post_installation_script/20251212_Nachinstallationsarbeiten_LC_Esslingen_XFCE_v8.sh +++ b/post_installation_script/20251212_Nachinstallationsarbeiten_LC_Esslingen_XFCE_v8.sh @@ -14,11 +14,13 @@ bIsVlcInstalled=false question_answered_with_yes() { local prompt="$1" local ans - # -r prevents backslash escapes being interpreted; -p prints the prompt - read -rp "$prompt [j/N]: " ans + # Use %b to interpret backslash escape sequences (\n, \t, etc.) + printf '%b\n Geben Sie j oder n ein und die Eingabetaste,\n Abbruch mit jeder anderen Taste ... [j/N]: ' "$prompt" + read -r ans case "$ans" in j|J|ja|y|Y) return 0 ;; - *) return 1 ;; + n|N|"") return 1 ;; + *) echo "Abbruch."; exit 1 ;; esac } @@ -33,7 +35,7 @@ echo " # Vorausgesetzt wird eine Installation von Linux Mint XFCE. # Das Skript bietet -teilweise interaktiv- die Installation von zusätzlichen Programmen an, die Linux Mint XFCE nicht standardmässig mitbringt. # -# Zu Beginn werden -ohne weitere Rückfrage- die folgenden zusätzlichen Programme installiert: +# Zu Beginn werden die folgenden zusätzlichen Programme in einem Schritt installiert: # # xfce4-goodies (zusätzliche Elemente für die Taskleiste) # xfce4-panel-profiles (Tool für die Taskleistenbearbeitung) @@ -57,7 +59,7 @@ sSuffixDate=$(date '+%Y-%m-%d_%H:%M:%S') echo -if question_answered_with_yes $'#### 64 bit Mint XFCE ; Zusatzprogramme ####\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes "#### Installiere Zusatzprogramme für 64 bit Mint XFCE? ####"; then echo "#### 64 bit Mint XFCE ####" sudo apt -y install xfce4-goodies clementine vlc htop hardinfo font-manager asunder gtkhash xfce4-panel-profiles bIsVlcInstalled=true @@ -70,7 +72,7 @@ echo echo "#### nur auf Wunsch / bei Bedarf ####" echo ### Sensoren ### -if question_answered_with_yes $' ### Sensoren ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Installiere Sensoren? ###"; then echo "### Sensoren ###" sudo apt install lm-sensors psensor sudo sensors-detect @@ -83,7 +85,7 @@ echo echo if [ "$bIsVlcInstalled" = true ]; then echo "### Kauf-DVDs abspielen ###" - if question_answered_with_yes $' ### Film DVDs ###\n\tGeben Sie j oder n ein und die Eingabetaste,\n\tAbbruch mit jeder anderen Taste ...'; then + if question_answered_with_yes " ### Installiere Paket um Film DVDs abspielen zu können? ###"; then echo "### Kauf-DVDs abspielen ###" sudo apt install libdvd-pkg sudo dpkg-reconfigure libdvd-pkg @@ -99,7 +101,7 @@ echo echo "### Schriften, falls Microsoft-Office-Dokumente weiterverwendet werden sollen oder Dokumentenaustausch mit Microsoft-Nutzern gewünscht ist ### ## frei verfügbare, alte Microsoft-Standardschriften installieren:" -if question_answered_with_yes $' ### M$ Schriften ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Installiere M$ Schriften? ###"; then echo "### M$ Schriften ###" sudo apt install ttf-mscorefonts-installer fi @@ -107,7 +109,7 @@ fi echo echo echo " ## freie Google-Schriften als Ersatz für aktuelle MS-Standardschriften installieren:" -if question_answered_with_yes $' ### Google Schriften ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Installiere Google Schriften? ###"; then echo echo "### Google Schriften ###" @@ -117,7 +119,7 @@ if question_answered_with_yes $' ### Google Schriften ###\nGeben Sie j oder n ei echo "" echo "$fGoogleSchriften nicht gefunden." echo " soll das Archiv "google-fonts.tar.gz" von Github heruntergeladen werden? Es ist ca. 1,4GB gross! " - if question_answered_with_yes $' ### Download Google Schriften ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then + if question_answered_with_yes " ### Download Google Schriften ###"; then _wgeturl="https://github.com/google/fonts/archive/main.tar.gz" echo "Connecting to Github server to download fonts..." wget "$_wgeturl" -O "$_gf.tar.gz" @@ -151,7 +153,7 @@ fi echo echo echo "#### Chromium Browser installieren:" -if question_answered_with_yes $' ### Chromium ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Installiere Chromium? ###"; then echo "### Chromium ###" sudo apt install chromium-browser sudo apt install chromium @@ -160,7 +162,7 @@ fi echo echo echo "#### Vivaldi Browser installieren:" -if question_answered_with_yes $' ### Vivaldi ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Installiere Vivaldi? ###"; then echo "### ###" echo "## nötige Zusatzpakete installieren" sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl -y @@ -183,7 +185,7 @@ fi echo echo echo "####Signal für Desktop (die Nutzung setzt eine Signal-Installation auf einem Android- Oder Apple-Gerät voraus!)#### " -if question_answered_with_yes $' ### Signal ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Installiere Signal? ###"; then echo "### ###" echo "## zusätzliches Repository nötig! ## NOTE: These instructions only work for 64-bit Debian-based @@ -210,7 +212,7 @@ echo echo "Achtung! Es kann vorkommen, dass die Taskleiste nach diesem Schritt verschwunden ist." echo "Ein Abmelden und Wiederanmelden des Benutzers oder ein Reboot behebt das Problem." echo -if question_answered_with_yes $' ### Panel ###\nGeben Sie j oder n ein und die Eingabetaste,\nAbbruch mit jeder anderen Taste ...'; then +if question_answered_with_yes " ### Änderungen am Panel durchführen? ###"; then echo "### ###" echo "## Austausch der Panel-Konfigurationsdatei:" xfce4-panel-profiles load current-config.tar.bz2 @@ -231,6 +233,5 @@ echo echo "Wenn ### Google-Schriften ### installiert wurden: Anpassung der Standardschriften und/oder das Erstellen der Ersetzungstabelle in Libre Office, falls gewünscht." echo echo -if question_answered_with_yes $' ### Um dieses Fenster zu schliessen, "Enter" drücken ###'; then - exit 0 -fi +read -p ' ### Um dieses Fenster zu schliessen, Enter drücken ### ' +exit 0 diff --git a/post_installation_script_test/README.md b/post_installation_script_test/README.md index ff41e8b..23d005b 100644 --- a/post_installation_script_test/README.md +++ b/post_installation_script_test/README.md @@ -46,7 +46,9 @@ sh 02_start_container_with_image.sh ### Test the script file in the running container -After container is started an interactive session was started in the container and the script can be started for testing +After container is started an interactive session was started in the container and the script can be started for testing. +If script is changed on the host it just needs to be restarted in the container to reflect the changes. +This works because to folder is mounted into the container. ```bash ls -al