Shellscripting

Programmierung der in Shell

  1. Elemente der Programmierung:
    Stellen Sie je ein kurzes Merkblatt zusammen, das

    zu den Themen:

Shellprogramme schreiben

  1. Mit dem Kommando read kann man Eingaben abfragen.
    Hier ein Beispiel, das eine Eingabe liest und dann wieder ausgibt.

    #!/bin/bash

    echo "Geben Sie Ihren Namen ein: "
    read name
    echo "Hallo $name"

    Schreiben Sie ein Shellscript, das das Alter abfragt.
    Wenn eine Zahl größer gleich 18 angegeben wird, soll die Ausgabe „Sie sind schon erwachsen.“ erfolgen. Wenn die Zahl kleiner ist als 18, dann sollen die Jahr bis zu Volljährigkeit ausgegeben werden.

  2. Einem Shellscript können auch Variablen mitgegeben werden.

    #!/bin/bash
    # Beispielscript name.sh
    echo "Ihr Namen ist: $1 "
    # die Anzahl der Variablen steht in $#
    echo “das Skript wurde mit $# Paramtern aufgerufen. “


    Das Skript wird z.Bsp. aufgerufen mit:
    ./name.sh Anna

    Ändern Sie das obige Skrip aus 1. so, um, dass es mit dem Alter als Eingabe aufgerufen wird.
    Geben Sie eine Fehlermeldung aus, wenn die Eingabe nicht korrekt war.

  3. Eine Suche nach bestimmten Dateien:

    Variante1:
    In einem Shellscript sollen in bestimmten Verzeichnissen Dateien gesucht werden.
    Der Nutzer soll unter den Verzeichnissen /etc, /usr/bin und seinem eigenen Home-Verzeichnis wählen können.
    Gesucht werden Dateien die mit einem s oder S beginnen.

    Variante 2:
    Zusätzlich kann der User auch die in Variante 1 angegebene Auswahl an Verzeichnissen ablehnen und ein Verzeichnis selbst angeben.
    Auch der Anfangsbuchstabe der Suchdatei soll frei gewählt werden können.

  4. Log-Filter:

    Anhand der Log-Datei /var/log/syslog sollen die Aktivitäten eines Users gefiltert werden.
    Bei diesem Skript kann der User den Namen nach dem in der log-Datei gesucht wird selbst eingeben. Über eine Textsuche werden dann alle Zeilen in denen der User vorkommt ausgegeben.

    Erweiterung: Diese Ausgabe soll nun wahlweise auf das Einstecken eines USB-Sticks oder nach Aktivitäten der grafischen Oberfläche untersucht werden.

  5. Datensicherung:

    In einem Shellskript soll der komplette Inhalt aller Unterverzeichnisse des eigenen Home-Verzeichnisses in ein Verzeichnis mit Namen Sicherung_<aktuelles Datum> geschrieben werden. Dabei ist das aktuelle Datum je vom Tag der Sicherung zu bestimmen und als Teil des Namens einzufügen.

  6. Filtern von Listings:

    Nach Eingabe eines Verzeichnisnamens seitens des Users soll das Listing ls -l dieses Verzeichnisses gefiltert werden.
    Der User kann sich wahlweise entweder die Angaben Name, Datum und Größe der Dateien oder die Angaben Name, Eigentümer und Gruppe anzeigen lassen.
    (Hinweis: Ausgaben von Kommandos lassen sich mittels des Kommandos
    awk filtern)