# Eingaben, if-Schleife mit Bedingungsverknüpfung
# Variablen EINGABE=" "
# Anweisungen
# Bildschirm löschen clear
echo Bitte geben Sie eine Namen ein echo
# Eingabe einlesen in Variable EINGABE read EINGABE
# Prüfen ob Variableninhalt gleich "Pihale" oder "Stefan" ist if test $EINGABE = "Pihale" -o $EINGABE = "Stefan"
then
echo hallo meister else
echo hallo fremder fi
# Ende Script
#!/bin/bash
# Programm zum beschraenken eines Logins
# Variablen
# Einlesen der angemeldeten User in die Postionsparameter set `who`
# Berechung mit Anzahl der ausgegebenen Zeilen (in Parameter $#) ANZAHL=`expr $# / 5`
# Anweisungen
echo Es sind $ANZAHL Benutzer eingeloggt.
# Wiederholen, solange Variableninhalt von Variable ANZAHL ungleich 0 while test $ANZAHL != 0
do
# Prüfen ob in Positionsparameter $1 der Wert "tcpip" gespeichert ist if test $1 != "tcpip"
then echo $1
# Positionsparameter um 5 Stellen weiter schieben shift 5
else
echo Tut mir leid, Kennung schon in Benutzung ANZAHL=1
fi
# Wert der Variable ANZAHL um 1 verringern ANZAHL=`expr $ANZAHL - 1`
done
# Ende Script
# Programm zum beschraenken eines Logins
# und automatischem Logout
# Variablen set `who`
ANZAHL=`expr $# / 5`
SCHON_DA=keiner
# Anweisungen
while test $ANZAHL != 0 do
if test $1 = "tcpip"
then
if test $SCHON_DA != "tcpip"
then
SCHON_DA=tcpip else
set `ps -t`
PARAMETER=`expr $# - 5`
shift 5
while test $PARAMETER -gt 5 do
if test $5 = "-bash"
then
ANZAHL=1 PARAMETER=2 echo
echo
echo Diese Kennung ist schon eingeloggt !!
echo
echo Sie werden in 2 Sekunde automatisch abgemeldet echo
echo Auf Wiedersehen sleep 2
kill -9 $1 fi
shift 1
PARAMETER=`expr $PARAMETER - 1`
done ANZAHL=1 fi
fi
ANZAHL=`expr $ANZAHL - 1`
shift 5 done
#!/bin/bash
# Variablen KENNUNG=leer
DIRVORHANDEN=falsch DATEIVORHANDEN=falsch
# Anweisungen
echo Bitte eine Kennung eingeben:
# Eingabe einlesen in Variable KENNUNG read KENNUNG
# Prüfen ob Homeverzeichnis der Kennung schon vorhanden if test -d /home/$KENNUNG
then
# Bildschirm löschen clear
# in Homeverzeichnis der Kennung wechseln cd /home/$KENNUNG
else
echo !!! Homeverzeichnis der Kennung nicht vorhanden !!!
# Script beenden exit
fi
# Prüfen ob Verzeichnis "mein_eigenes" vorhanden ist if test -d "mein_eigenes"
then
DIRVORHANDEN=wahr cd mein_eigenes else
echo !!! Verzeichnis 'mein_eigenes' nicht vorhanden !!!
fi
# Prüfen ob Datei "test2.file" vorhanden ist if test -f "test2.file"
then
DATEIVORHANDEN=wahr
# Directory-Eintrag des Files "test2.file"
# in Positionsparameter einlesen set`ls -l test2.file`
fi
if test $DIRVORHANDEN = "wahr" -a $DATEIVORHANDEN = "wahr"
then echo
echo Test bestanden echo
# Positionsparameter 1 des Directory-Eintrages ausgeben echo Dateiberechtigungen: $1
fi
Gerhard_Lang, AE4B, glang@quiss.com
Martin_Schneider, nein, martin.schneider@stud.tu-muenchen.de Sepp_Wurzelbrunft, TE1A, sepp.w@t-online.de
Hans_Meise, nein, H.M@meise.com
#!/bin/bash
# Ausgabe der e-Mail-Adresse aller Einträge aus
# der Datei /home/praktikum/gaeste die nicht
# Schüler der TSM sind, also an der zweiten Stelle
# der Zeile ein 'nein' stehen haben
# Variablen ANZAHL=0
# Anweisungen
# Bildschirm löschen clear
echo "e-Mail-Adressen der externen Kursteilnehmer"
echo
# Gäste-File in Puffer einlesen mit cat-Befehl set `cat /home/praktikum/gaeste`
# Anzahl der Zeilen im Puffer bestimmen # Entweder mit $#-Parameter der die Anzahl # der eingelesenen Elemente enthält.
# Diese Anzahl durch die Anzahl der Elemente # einer Zeile, ergibt die Zeilenanzahl
ANZAHL=`expr $# /3`
# oder mit grep-Befehl der die Zeilen zählt, # in denen ein bestimmter Ausdruck vorkommt ANZAHL=`grep -c "@" /home/praktikum/gaeste`
# Wiederhole solange Variable ANZAHL ungleich 0 ist while test $ANZAHL -ne 0
do
# Wenn Positionsparameter $2 gleich 'nein' ist # e-Mail-Adresse aus Pos.parameter $3 ausgeben if test $2 = "nein"
then echo $3 fi
# Fenster der Positionsparameter um die Anzahl # der Parameter in einer Zeile (hier 3) verschieben # um die nächste Zeile auszuwerten
shift 3
# Variable ANZAHL um 1 verringern VARIABLE=`expr $ANZAHL - 1`