1 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Working with theWorking with the
bash shellbash shell
Prof. Dr. G. HellbergProf. Dr. G. Hellberg
20062006
Working with theWorking with the
bash shellbash shell
Prof. Dr. G. HellbergProf. Dr. G. Hellberg
20062006
2 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Zielsetzung
• Umleiten der Ein- und Ausgaben eines Kommandos• erkennen und ändern der allgemeinen Variablen der Shell-
Umgebung• neue Variablen erstellen und exportieren• Dateien der Umgebung editieren, um Variablen für den
Shell-Start zu erstellen• Zweck und Eigenschaften eines Shell Scripts• erstellen und ausführen eines einfachen Shell Scripts• einsetzen von allgemeinen Bedingungsabfragen in Shell
Scripten
3 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Kommando Ein- und Ausgabe• die BASH Shell ist zuständig für die Bereitstellung einer
Benutzungsschnittstelle und der Interpretation von Kommandos, die in die Kommandozeile eingegeben werden
• die BASH Shell kann die Kommandoeingabe und Ausgabe verändern, stellt dem Benutzer bestimmte Shell „metacharacters“ auf der Kommando Zeile bereit
• file descriptors– nummerische Kennzeichen werden benutzt, um
Kommandoeingaben und Kommandoausgaben zu definieren
4 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Kommando Ein- und Ausgabe
• Standard-Eingabe (stdin)– stellt Informationen dar, die während der Ausführung zu
einem Kommando eingegeben wurden
• Standard-Ausgabe (stdout)– stellt die gewünschte Ausgabe eines Kommandos dar
• Standard-Error (stderr)– stellt Fehlermeldungen dar, die von einem Kommando
generiert wurden
5 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Kommando Ein- und Ausgabe stdin
0
file /etc/host /etc/h
stdout stderr
1 2
file descriptors (0, 1, 2)
6 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umleitungen
• Die BASH Shell kann Standard-Ausgaben und Standard-Errors von der Monitorausgabe in eine Datei umleiten– das erfolgt mit dem Umleitungszeichen „>“ , gefolgt vom
absoluten oder relativen Pfadnamen der Datei
• die Standard-Ausgabe und Standard-Error können gleichzeitig in 2 verschiedene Dateien umgeleitet werden
• um den Inhalt festzuhalten, ist es wichtig 2 verschiedene Dateinamen für Standard-Ausgabe und Standard-Error zu verwenden
7 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmleitungenKommando Beschreibung
command 1>file Die Standard-Ausgabe wird in eine
command >file Datei umgeleitet
command 2>file Die Standard-Error wird in eine Datei umgeleitet
command 1>fileA 2>fileB Standard-Ausgabe wird in Datei A und Standard-Error in
Datei B umgeleitet
command 1>file 2>&1 Standard-Ausgabe und Standard-Error werden in eine Datei
command >file 2>&1 umgeleitet
command 2>file 1>&2
command 2>file >&2
Beispiele für Umleitungen 1/2
8 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmleitungenKommando Beschreibung
command 1>>file Die Standard Ausgabe eines Kommandos wird einer Datei
command >>file angehängt
command 2>>file Der Standard-Error eines Kommandos wird einer Datei
angehängt
command 0<file ein Kommando wird einer Datei entnommen und an die
command <file Standard-Eingabe weitergeleitet
Beispiele für Umleitungen 2/2
9 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Pipesmehrere Kommandos miteinander verbinden
stdout stdin stdout stdin
Kommando1 | Kommando2 | Kommando3
10 BASH Shell
© 2006 Prof. Dr. G. Hellberg
PipesKommando Beschreibung
nl nummeriert Zeilen in einer Datei
tr ersetzt Zeichen in einem Text einer Datei
sort sortiert Zeilen einer Datei alphanummerisch
sort -r umgekehrte alphanummerische Sortierung der Zeilen
wc Zählt die Anzahl der Zeilen, Wörter und Zeichen einer Datei
wc -l Zählt die Anzahl der Zeilen (lines)
wc -w Zählt die Anzahl der Wörter (words)
wc -c Zählt die Anzahl der Zeichen (characters)
nützliche Filter-Kommandos 1/2
11 BASH Shell
© 2006 Prof. Dr. G. Hellberg
PipesKommando Beschreibung
grep Zeigt Zeilen einer Datei an, die auf einen regulären Ausdruck zutreffen
pr formatiert eine Datei zum Drucken
kann z.B. Datum und Seitenzahl auf jede Seite einfügen
pr -d formatiert eine Datei, so daß 2 Seiten auf einem Blatt gedruckt werden (double-spaced)
nützliche Filter-Kommandos 2/2
12 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umleitungen/Pipes• xargs holt sich Argumente aus der Standard-
Eingabe, um ein Kommando zu vervollständigen
– z.B. ls a* | xargs cat
„ls“ listet alle Dateien auf, die mit „a“ beginnen, die Ausgabe wird in die Eingabe von „xargs“ durch „|“ weitergeleitet. „xargs“ vervollständigt das Kommando „cat“ sozusagen mit der Ausgabe von „ls“ und listet somit den Dateiinhalt aller Dateien die mit a beginnen auf.
• tee ist ein Hilfsmittel, welches die gleichzeitige Umleitung in eine Datei und auf den Monitor erlaubt
13 BASH Shell
© 2006 Prof. Dr. G. Hellberg
LPI exam 101• 1.103.1 Work on the command line
Weight: 5
Description: Candidates should be able to Interact with shells and commands using the command line. This includes typing valid commands and command sequences, defining, referencing and exporting environment variables, using command history and editing facilities, invoking commands in the path and outside the path, using command substitution, applying commands recursively through a directory tree and using man to find out about commands.
• Key files, terms, and utilities include:
. bash export unset
echo man ~/.bash_history
env pwd ~/.profileexec set
14 BASH Shell
© 2006 Prof. Dr. G. Hellberg
LPI exam 102• 1.111.2 Tune the user environment and system environment
variablesWeight: 3
Description: Candidate should be able to modify global and user profiles. This includes setting environment variables, maintaining skel directories for new user accounts and setting command search path with the proper directory.
• Key files, terms, and utilities include:env export set unset
/etc/profile /etc/skel
15 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Anpassen der Shell
Mit den folgenden Methoden kann die Linux Umgebung angepasst werden
– alias (Pseudonym)– symbolische Verknüpfungen– Umgebungsvariablen (environment variables)
16 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Aliases benutzen
• alias: - „ersetzt“ ein Kommando durch ein anderes
- dient zur Abkürzung immer wiederkehrender Kommandofolgen
Syntax:
alias <neuerAlias>=<Kommando>
• z.B. alias md=mkdir
bei Eingabe von md wird nun das Kommando mkdir ausgeführt
17 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Shell Variablen
• eine BASH Shell hält mehrere Variablen im Speicher– eine Variable ist lediglich ein reservierter Platz im Speicher,
der Informationen enthält, auf die zugegriffen werden können
• viele Variablen werden Umgebungsvariablen genannt, wenn sie vom System gesetzt wurden und Informationen enthalten, auf die das System und Programme regelmäßig zugreifen
18 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Shell Variablen
• Sie können eigene Variablen erstellen und anpassen
– diese werden dann als benutzerdefinierte Variablen (user defined) bezeichnet
• zusätzlich zu den Umgebungs- und benutzerdefinierten Variablen gibt es noch weitere spezielle Variablen, die nützlich sind, wenn Sie z.B. Kommandos ausführen oder Dateien und Verzeichnisse anlegen.
19 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Benutzerdefinierte Variablen
• Variablenbezeichnung (variable identifier)– ist der Name der Variablen
• Wenn neue Variablen erstellt werden ist es wichtig, folgendes über die Variablenbezeichnung zu wissen:– muß nicht mit einer Nummer beginnen– alphanummerische Zeichen, Bindestrich und Unterstrich
können auch enthalten sein
20 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Benutzerdefinierte Variablen
• Viele Kommandos, die auf der Shell laufen, arbeiten in seperaten „subshells“– die subshell wird von der aktuellen Shell erstellt, das wird
forking“ genannt– Variablen, die in der aktuellen Shell erstellt wurden, sind
nicht verfügbar in den subshells
21 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Andere Variablen
• Es gib andere Variablen, die nicht angezeigt werden bei der Eingabe der „set“ und „env“ Kommandos
– diese Variablen erfüllen spezielle Funktionen in der Shell
• ein Beispiel für diese speziellen Variablen ist die früher benutzte „UMASK“ Variable– sie erfüllt spezielle Funktionen der BASH Shell und wird
durch das „umask“-Kommando gesetzt
22 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsvariablen• set
– wenn keine Option angegeben wird, zeigt dieses Kommando den Namen und Inhalt aller Shell Variablen und Funktionen an
– wenn eine Option angegeben wird, werden Umgebungsvariablen gesetzt/entfernt
• env– zeigt eine Liste der BASH Variablen und deren
augenblicklichem Inhalt– zeigt nur ´exported´ Variablen
• unset– entfernt Funktionen und Variablen aus der aktuellen
Umgebung
23 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmgebungsvariablenVariable Beschreibung
bash zeigt den kompletten Pfad der BASH Shell an
bash_version zeigt die Version der BASH Shell an
display umleiten der Ausgabe des X Windows an einen anderen Computer oder ein anderes Gerät
env Verzeichnis der BASH „runtime configuration“ Datei
(normalerweise: ~/.bashrc)
EUID tatsächliche User ID (Effective User ID) des aktuellen Benutzers
allgemeine BASH Umgebungsvariablen 1/5
24 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmgebungsvariablenVariable Beschreibung
histfile der Dateiname, in der früher eingegebene Kommandos gespeichert werden (normalerweise: ~/.bash_history)
histfilesize Anzahl der Kommandos, die in der „histfile“ gespeichert werden können (normalerweise: 1000 Kommandos)
histsize Anzahl der früher eingegebenen Kommandos, die im Speicher während der Sitzung abgelegt werden können
(normalerweise: 1000 Kommandos)
home zeigt den Pfad des Home-Verzeichnisses des aktuellen Benutzers an
allgemeine BASH Umgebungsvariablen 2/5
25 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmgebungsvariablenVariable Beschreibung
hostname zeigt den Hostnamen des Linux Systems an
logname zeigt den aktuellen Benutzernamen an
mail zeigt den Ort der Datei an, in der die eMails gespeichert werden
oldpwd zeigt die meist verwendeten Arbeitsverzeichnisse an
ostype gibt das augenblickliche Betriebssystem aus
allgemeine BASH Umgebungsvariablen 3/5
26 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmgebungsvariablenVariable Beschreibung
path Verzeichnisse, in denen nach ausführbaren Dateien gesucht werden soll (Kommandoeingabe -> Datei nicht im aktuellen Verzeichnis -> sucht automatisch die
„path“ Verzeichnisse durch
ps1 aktuelle Eingabeaufforderung
pwd zeigt aktuelles Arbeitsverzeichnis an (Print Working Directory)
shell zeigt den vollständigen Pfad der aktuellen Shell an
allgemeine BASH Umgebungsvariablen 4/5
27 BASH Shell
© 2006 Prof. Dr. G. Hellberg
UmgebungsvariablenVariable Beschreibung
random erstellt eine Zufallszahl wenn ein Zugriff erfolgt
term dient zur Ermittlung der Terminal Einstellungen
allgemeine BASH Umgebungsvariablen 5/5
28 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsvariablen• export
• platziert lokale Variablen in die Shell Umgebung– Bsp.: path=$:/home
export path
• echo• gibt eine Zeichenfolge an die Standardausgabe weiter
– Bsp.:» echo “1“ gibt eine 1 auf dem
Monitor aus
» echo “1“ > /maerz/termine schreibt in die Datei „termine“ im
Verzeichnis „maerz“ eine
1
• exec• laden und ausführen eines neuen Programmes• erstellt keine neue Shell
29 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsvariablen
• bash_history– Shell History des Benutzers– ist eine versteckte Datei im Home-Verzeichnis eines
Benutzers– vorgegebene Einstellungen stehen in .profile, bashrc usw.
• .profile– Benutzerspezifischer Pfad- und Umgebungsaufbau– Einträge in dieser Datei überschreiben die Voreinstellungen
in /etc/profile
30 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsvariablen
• /etc/profile– systemweites Einrichten der Umgebungsvariablen und
Pfade– Benutzer nutzen Variablen aus dieser Datei, sofern sie
nicht die lokale .profile außer Kraft setzen
• /etc/skel– enthält Dateien die zum erstellen des Home-Verzeichnisses
benutzt werden während des Kommandos „useradd“
31 BASH Shell
© 2006 Prof. Dr. G. Hellberg
LPI exam 102• 1.109.1 Customize and use the shell environment
Weight: 5
Description: Candidate should be able to customize shell environments to meet users' needs. This objective includes setting environment variables (e.g. PATH) at login or when spawning a new shell. It also includes writing bash functions for frequently used sequences of commands.
• Key files, terms, and utilities include:function (Bash built-in command) ~/.bash_profile export ~/.bash_login env ~/.profile set (Bash built-in command) ~/.bashrc unset (Bash built-in command) ~/.bash_logout
~/.inputrc
32 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsdateien
• wenn Sie die BASH Shell beenden, gehen alle Variablen, die im Speicher abgelegt sind, verloren
• um sicherzustellen, daß alle Variablen einer Shell zu jeder Zeit verfügbar sind, müssen in eine Datei, welche bei jedem Login und Starten der BASH Shell ausgeführt wird, Variablen definiert werden
– diese Dateien nennt man Umgebungsdateien (environment files)
– die unterschiedlichen Umgebungsdateien werden abhängig von der Art des BASH Shell-Aufrufs ausgeführt
33 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsdateien• Interactive Login Shell
– nach einem erfolgreichem Login durch /bin/login und Lesen der /etc/passwd Datei ist die Interactive Login Shell gestartet
• /etc/profile sytemweite Umgebungsvariablen und Startprogramme
– nach /etc/profile weden die folgenden Dateien überprüft• ~/.bash_profile
– Benutzerspezifische Umgebung und Startprogramme
• ~/.bash_login
– Shell Login Parameter
• ~/.profile
– Benuterspezifische Umgebungseinstellungen
34 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsdateien• Interactive Non-Login Shell
– wird über die Kommandozeile gestartet
z.B.: [prompt]$/bin/bash
• ~/.bashrc
– enthält Benutzerspezifische Alias und Funktionen
– ruft ~/.bash_profile auf --> gleiche Umgebung wie Interactive Login Shell
• Non-Interactive Shell– wenn ein Shell Script läuft – es ist nicht-interaktiv, da ein Script läuft und nicht auf
Eingaben des Benutzers zwischen den Kommandos gewartet wird
35 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Umgebungsdateien
• Die BASH Shell beinhaltet weitere Umgebungsdateien
• ~/.inputrc
– Tastatureinstellungen und Funktionen für bestimmte Situationen
• ~/.bash_logout
– wird beim Logout gelesen
36 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Typisches Start-Script
/etc/profile
~/.profile oder ~/.bash_profile
/etc/bashrc
~/.bashrc
37 BASH Shell
© 2006 Prof. Dr. G. Hellberg
LPI exam 102• 1.109.2 Customize or write simple scripts
Weight: 3
Description: Candidate should be able to customize existing scripts, or write simple new (ba)sh scripts. This objective includes using standard sh syntax (loops, tests), using command substitution, testing command return values, testing of file status, and conditional mailing to the superuser. This objective also includes making sure the correct interpreter is called on the first (#!) line of scripts. This objective also includes managing location, ownership, execution and suid-rights of scripts.
• Key files, terms, and utilities include:while for test chmod
38 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Shell Scripts
• Shell Script– Textdatei, welche eine Reihe von Kommandos und
Konstrukte für die Shell enthält und diese in Reihenfolge ausführt
• Hashpling– ist die erste Zeile eines Shell Scripts– definiert die Shell, die für die Interpretation der Kommandos
benutzt werden soll
#!
39 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Komponenten eines Shell Scripts
• jede Scriptdatei muß mit einer Zeile beginnen, die den Interpreter des Scriptes definiert– z.B. #!/bin/bash
• auf jedem Script muß das Execution-Flag gesetzt sein
• jedes Script muß korrekt formulierte Anweisungen für den jeweiligen Interpreter enthalten
40 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Escape Sequences
• Escape Sequences– sind Zeichensätze, die innerhalb der Tastatureingabe-Kommandos
spezielle Bedeutungen haben
Escape Sequence Beschreibung
\??? Fügt ein ASCI Zeichen in Form einer 3-stelligen
Oktalzahl ein (???)
\\ Backslash
\a ASCI Piepton
\b Backspace
common echo sequences 1/2
41 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Escape SequencesEscape Sequences Beschreibung
\c verhindert den Wechsel in eine neue Zeile nach einer Kommandoeingabe
\f formale Ausrichtung
\n beginnt eine neue Zeile
\r Zeilenumbruch
\t horizontaler Tabulator
\v vertikaler Tabulator
common echo sequences 2/2
42 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Auslesen der Standard-Eingabe
• Es kann vorkommen, daß Shell Scripte eine Eingabe des Benutzers, der das Script ausführt, benötigen– diese Eingabe kann in einer Variable für eine spätere
Benutzung gespeichert werden
• read – holt sich die Benutzereingabe aus der Standard-Eingabe
und platziert diese in eine Variable, welche von einem Argument spezifiziert wird
43 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Entscheidungskonstrukt
• Entscheidungskonstrukte
sind die weitverbreitetste
Art von Konstrukten, die in
Shell Scripten benutzt werden
• ändern den Ablauf von
Programmen durch eine
Benutzereingabe oder einem
Kommando im Programm selber
Programmstart
Entscheidungsfrage
Entscheidungsfrage
ja nein
ja nein
Reihe von Kommandos
Reihe von Kommandos
Reihe von Kommandos
44 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Das „if“ Konstrukt• Allgemeine Regeln für das „if“ Konstrukt
– elif (else if) und else Anweisungen sind optional
– unbegrenzte Anzahl von elif Anweisungen
– die „do these“ Anweisung kann mehrere Kommandos beinhalten, aber nur einen pro Zeile
– die frühere „this is true“ Anweisung des if Syntax kann ein Kommando oder eine Bedingungsabfrage sein
– das Ende eines jeden Konstrukts muß mit der umgekehrten Anweisung markiert werden (if --> fi)
45 BASH Shell
© 2006 Prof. Dr. G. Hellberg
test (Bedingungsabfrage)
• diese Bedingungsabfrage wird von fast jedem Shell Script benutzt
– es ist ein einfaches aber kraftvolles Hilfsmittel– die Bedingung wird eckigen Klammern [ ] angegeben
if [...]
then
#ifcode
else
#elsecode
fi
46 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Allgemeine „test“-Anweisungen„test“ Beschreibung
[ A = B ] Zeichenkette A ist gleich Zeichenkette B
[ A != B ] Zeichenkette A ist nicht gleich Zeichenkette B
[ A -eq B ] Zahlenwert von A ist gleich Zahlenwert von B
[ A -ne B ] Zahlenwert von A ist nicht gleich Zahlenwert von B
[ A -lt B ] Zahlenwert von A ist kleiner als Zahlenwert von B
[ A -gt B ] Zahlenwert von A ist größer als Zahlenwert von B
[ A -le B ] Zahlenwert von A ist kleiner-gleich Zahlenwert von B
47 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Allgemeine „test“-Anweisungen„test“ Beschreibung
[ A -ge B ] Zahlenwert von A ist größer-gleich Zahlenwert von B
[ -r A ] A ist eine existierende Datei/Verzeichnis und istlesbar
[ -w A ] A ist eine existierende Datei/Verzeichnis und ist schreibbar
[ -x A ] A ist eine existierende Datei/Verzeichnis und ist ausführbar
[ -f A ] A ist eine Datei die existiert
[ -d A ] A ist ein Verzeichnis das existiert
48 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Spezielle „test“-Anweisungen„test“ Beschreibung
[ A = B -o C = D ] Zeichenfolge A ist gleich Zeichenfolge B
ODER
Zeichenfolge C ist gleich Zeichenfolge D
[ A = B -a C = D ] Zeichenfolge A ist gleich Zeichenfolge B
UND
Zeichenfolge C ist gleich Zeichenfolge D
[ !A = B ] Zeichenfolge A ist NICHT gleich Zeichenfolge B
49 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Struktur einer if/then/else Anweisungif [Bedingung]
then
wird nur ausgeführt wenn die
Kommandoblock Bedingung erfüllt wird
else
wird nur ausgeführt wenn die Kommandoblock Bedingung nicht zutrifft
fi
wird unabhängig von dem
weitere Kommandos Ergebnis der Bedingungsabfrage ausgeführt
50 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Das „case“ Konstrukt
• Der „case“-Befehl vergleicht den Wert einer Variablen mit mehreren verschiedenen Mustern von Texten oder Zahlen
• kommt eine Übereinstimmung zustande, wird das Kommando, welches rechts neben dem Suchmuster steht, ausgeführt
• wie das „if“-Konstrukt muß auch das „case“-Konstrukt mit mit der Umkehrung beendet werden (case --> esac)
51 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Die „&&“ und „||“ Konstrukte
• obwohl die „if“ und „case“-Konstrukte sehr vielseitig sind, gibt es einige kürzere Konstrukte, die verwendet werden, wenn in einem Programmablauf nur eine Entscheidung getroffen werden muß
– diese Konstrukte sind „&&“ und „||“– Syntax der Konstrukte:
• Kommando && Kommando
• Kommando || Kommando
52 BASH Shell
© 2006 Prof. Dr. G. Hellberg
„while“ Schleifen
• dieses Konstrukt überprüft am Anfang der Schleife eine Bedingung
• die Schleife wird solange durchlaufen, bis die Bedingung zutrifft, also wahr ist; es wird dann eine 0 zurückgegeben und damit in den exit Status gewechselt– „while“ Schleifen sind in Situationen, in denen die genaue
Anzahl der Schleifenwiederholungen unbekannt sind, sehr nützlich
while <Kommando>
do
<Kommando>
done
53 BASH Shell
© 2006 Prof. Dr. G. Hellberg
„for“ Schleifen
• ist die wichtigste Schleife– sehr unterschiedlich zur „for“ Schleife in der
Programmiersprache C
for arg in [list]
do
<Kommando>
done
– [list] kann „wildcards“ enthalten
54 BASH Shell
© 2006 Prof. Dr. G. Hellberg
LPI exam 102• 1.108.5 Notify users on system-related issues
Weight: 1
Description: Candidates should be able to notify the users about current issues related to the system. This objective includes automating the communication process, e.g. through logon messages.
• Key files, terms, and utilities include:/etc/issue /etc/issue.net /etc/motd
55 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Login-Nachrichten
• /etc/issue– ist eine Textdatei, die angezeigt wird bevor sich ein lokaler
Benutzer am Server anmeldet
• /etc/issue.net– ist eine Textdatei, die angezeigt wird bevor sich ein
Remote-Benutzer über telnet am Server anmeldet
• /etc/modt– ist eine Textdatei, die nach einem erfolgreichem Login am
Server angezeigt wird• die motd (message of the day) wurde früher vor dem
Ausführen der Login-Shell angezeigt
56 BASH Shell
© 2006 Prof. Dr. G. Hellberg
Zusammenfassung
• 1.103.1 Work on the command line– bash– set, env, unset, export– ~/.profile
• 1.103.4 Use streams, pipes, and redirects– < , << , > , >>– | ,– tee, xargs
• 1.109.1 Customize and use the shell environment– function– ~/.bash_profile, ~/-bashrc, ~/.bash_logout
57 BASH Shell
© 2006 Prof. Dr. G. Hellberg
ENDE
Fragen?Fragen?