Benutzerspezifische Konsoleneingaben lesen

Um ein interaktives Script zu erstellen benötigen wir ein paar weitere Grundlagen.
Zu diesen zählen z.B. das Abfragen von Eingaben und dessen Verarbeitung.
Mit Hilfe des Befehls read kannst du solch eine Abfrage realisieren.

lesen.sh

#!/bin/bash
printf "Eingabe: "

read input

echo ${input}

Dieses kleine Script fragt dich nach einer Eingabe ab und gibt diese anschließend auf dem Bildschirm aus.

Aber wozu das ganze?
Du kannst z.B. ein Script bauen, welches dich abfragt, welche Datei du sichern möchtest:

backup_files.sh

#!/bin/bash

# Script: backup_files.sh

set -x

while true ;do

    read -i "${HOME}/" -p "Welche Datei möchtest du sichern? " -e inputfile

    case "$(test -f ${inputfile} && echo ${?})" in
      0)
        #echo "Deine Datei exisitert im Dateisystem!"

        while true ;do

          read -i "${HOME}/backup/" -p "In welchem Verzeichnis soll die Datei gesichert werden? " -e inputpath

          if [ -d "${inputpath}" ];then
            #echo "Verzeichnis exisitiert"
            break
          else
            echo "Verzeichnis ist nicht vorhanden."
            read -i "y" -p "Soll es angelegt werden? [y/n]: " -e inputmkdir

            case "${inputmkdir}" in
              [yY]|[yY][eE][sS])

                mkdir -p ${inputpath}

                if [ "${?}" != "0" ];then
                  echo "Verzeichnis konnte nicht angelegt werden"
                fi

                if [ "$(echo ${inputpath} | rev | cut -b 1)" != "/" ];then
                  inputpath=${inputpath}"/"
                fi

                cp -b ${inputfile} ${inputpath}${inputfile##*/}.bak

                break

              ;;
              [nN]|[nN][oO])
                echo "Ok, dann halt nicht..."
              ;;
            esac
          fi
        done
        break
      ;;
      *)
        echo "Die angegebene Datei existiert nicht im Dateisystem. Bitte gebe eine existierende Datei an."
      ;;
     esac

done

Aber du hast selbstverständlich auch viele andere Möglichkeiten um eine interaktive Abfrage zu realisieren.
Weitere Anwendungsgebiete wären z.B. Installationen, Taschenrechner, Suchscripte uvm.

Die Scripte gibt es selbstverständlich wieder zum Download

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.