Shellscripte

Aufgaben und Beispiele

  1. Was leistet das Shellscript?

    #!/bin/bash
    i=0
    erg=0
    while [ $i -le 10 ]
        do
         echo "Tabelle: $i *X "
          j=0
          while [ $j -le 10 ]; do
           let erg=($i*$j);
           # let erg= $i * $j
           echo "$i * $j = $erg"
           let j=j+1
        done
        echo "------------------------"
         let i=i+1
    done
    exit 0

    Lassen Sie das Script unter Linux laufen.

  2. Was leistet das folgende Script?

    #!/bin/bash
    echo "Ausgabe1: $#"
    echo "Ausgabe2: $0"
    while [ $# -ne 0 ]
          do
              echo $1
              shift
          done
    exit 0

    Lassen Sie das Script laufen und ergänzen Sie jede Zeile um eine Kommentarzeile mit einer entsprechenden Beschreibung.

  3. Was leistet das folgende Script?

    #!/bin/bash
    clear
    echo "Auswahl"
    echo "1) /sbin"
    echo "2) /bin"
    echo "3) /usr/sbin"
    echo "4) /usr/bin"
    echo echo "Eingabe \c"
    read antw
    status=0
    case "$antw" in
          1) ls -C /sbin;;
          2) ls -C /bin;;
          3) ls -C /usr/sbin;;
          4) ls -C /usr/bin;;
          *) echo "unknown directory"
              status=1 ;;

     esac
    exit $status

  4. Was leistet das folgende Script?

     #!/bin/bash
    if [ $# -ne 2 ]; then
          echo "Usage: $0 Quelle Ziel"
           exit 1
    fi
    zno=1
    cat $1 | while read zeile 
        do
              echo -e "$zno \t: $zeile"
              let zno=zno+1 
         done > $2
    echo "Ausgabe"
    cat $2
    exit 0

    Erweitern Sie das Script so, dass es wahlweise mit den  Optionen  -n, -t, -s und -z  aufgerufen werden kann. Die Bedeutung der Optionen seien hierbei:
    -n übernehme die Zeilennummer wie oben
    -t als erste Zeile soll das Datum geschrieben werden
    -s zusätzlich soll in der ersten Zeile noch die Größe der Datei angegeben werden 
    -z die Anzahl der Zeilen der Datei soll in die erste Zeile geschrieben werden.

  5. Schreiben Sie ein Shellscript nach den folgenden Angaben: