Shellprogrammierung

Transcrição

Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Shellprogrammierung
Einführung in Linux
Antonia Blanke
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Operatoren:Zuweisung,Arithmetisch,Bitweise
Logische Operatoren
Andere Operatoren
Operatoren
Die Bash stellt verschiedene Operatoren zur Verfügung
Zuweisungsoperatoren
Arithmetische Operatoren
Bitweise Operatoren
Logische Operatoren
Andere Operatoren
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Operatoren:Zuweisung,Arithmetisch,Bitweise
Logische Operatoren
Andere Operatoren
Operatoren:Zuweisung,Arithmetisch,Bitweise
Zuweisungsoperatoren
=, Bsp.: variable=27
Nicht mit dem ’=’ Testoperator zu verwechseln!
Arithmetische Operatoren
+, -, *, /, ** (Exponentierung), % (Modulo),
+=, -=, *=, /=, %=
Bitweise Operatoren
<<, <<=, >>, >>=, &, &=,|, | =, v, !, ∧, ∧ =
kommen in Shellskripten eher selten zur Anwendung
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Operatoren:Zuweisung,Arithmetisch,Bitweise
Logische Operatoren
Andere Operatoren
Logische Operatoren
&& (Logisches Und), || (Logisches Oder)
&& führt jedes Statement von links aus sofern das letzte
ausgeführte true war. Ansonsten wird vorher abgebrochen.
|| führt die Statements von links aus und bricht ab sobald
eines true ist
Die Reihenfolge der Ausführungen und Abbrüche ist
relevant, weil man logische Operatoren auch zum
Verknüpfen von Kommandos nutzen kann.
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Operatoren:Zuweisung,Arithmetisch,Bitweise
Logische Operatoren
Andere Operatoren
Andere Operatoren
, (Komma Operator) verketten mehrere Operatoren
hintereinander mit zwei oder mehreren arithmetischen
Operationen. Alle werden ausgewertet, aber nur die letzte
zurückgegeben.
Bsp.: let t2= (( a = 9, 15 / 3 ))
Nach diesem Aufruf ist a=9 und t2=5
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
for-Schleife
while-Schleife
until-Schleife
Schleifen
Schleifen sind Quelltextblöcke, die eine Liste von
Kommandos bearbeiten, solange die Bedingung der Schleife
wahr ist.
Es gibt drei Schleifentypen
for-Schleife
while-Schleife
until-Schleife
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
for-Schleife
while-Schleife
until-Schleife
for-Schleife
Achtung: Unterscheidet sich stark von der for-Schleife wie
man sie z.B. von C/C++ oder Java kennt!
Syntax: for arg in [list]; do Kommando(s) .. done;
Während jeden Schleifendurchlaufs wird ein Element aus
[list] geholt und arg zugewiesen
Bsp.: for i in 1 2 3 4 do echo $i; done;
C/Java ähnliche Syntax
for (( i=1;i¡10;i++ )); do echo $i; done;
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
for-Schleife
while-Schleife
until-Schleife
while-Schleife
Hier wird die Bedingung am Anfang der Schleife getestet
und loopt so lange wie die Bedingung wahr ist.
Syntax: while [ Bedingung ]; do Kommando(s) done;
Bsp.: i=0; while [ $i -lt 10 ]; do echo $i; i=‘expr $i + 1‘;
done;
C/Javaähnliche Syntax
i=0; while (( $i ¡ 10 )); do echo $i; (( i += 1 )); done;
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
for-Schleife
while-Schleife
until-Schleife
until-Schleife
Hier wird am Anfang der Schleife die Bedingung getestet
und loopt solang wie die Bedingung falsch ist.
Syntax: until [ Bedingung ]; do Kommando(s) ...; done;
Bsp.: input=1; until [ $input =
read input; done;
]; do echo ’Eingabe:’;
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Case: Beispiel
Case: Wildcards
Case
Das Case Konstrukt erlaubt den Vergleich einer Variable
gegen vorgegebene Muster
Syntax:
case variable in
pattern [ — pattern ] ... ) Kommando(s);; pattern [ — pattern ]
... ) Kommando(s);; ...
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Case: Beispiel
Case: Wildcards
Case: Beispiel
echo Ist es morgens? (j/n/ja/nein): read timeofday;
case $timeofday in
j—ja) echo ’Guten Morgen!’;;
n—nein) echo ’Guten Abend!’;;
∗) echo ’Ungültige Eingabe!’;;
esac
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Case: Beispiel
Case: Wildcards
Case: Wildcards
In dem Case Konstrukt sind auch Wildcards erlaubt, dabei
wird dann nicht nach dem besten Match gesucht, sondern
dem ersten.
Bsp.:
echo Ist es morgens? (j*/n*): read timeofday; case
$timeofday in
j*) echo ’Guten Morgen!’;;
n*) echo ’Guten Abend!’;;
*) echo ’Ungültige Eingabe!’;;
esac
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Funktionen: Beispiel
Funktionen: Returnstatus
Funktionen: Returnstatus Beispiel
Funktionen
Funktionen müssen immer vor ihrem Aufruf definiert
werden!
Skriptparameter wie $*, $@, $#, $1, etc. werden bei
Funktionsaufruf mit ihren zugehörigen Funktionswerten
ersetzt.
Syntax:
function name() {
Kommandos...;
}
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Funktionen: Beispiel
Funktionen: Returnstatus
Funktionen: Returnstatus Beispiel
Funktionen: Beispiel
foo() {
echo hallo aus Funktion ’foo’
}
echo ’Skript startet’;
foo
echo ’Skript endet’;
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Funktionen: Beispiel
Funktionen: Returnstatus
Funktionen: Returnstatus Beispiel
Funktionen
Auch Funktionen geben einen Returntatus zurück. Dafür
gibt es den Befehl ’return’.
Mit ’local variablenname’ kann man eine Variable für die
Funktion lokal definieren, was z.B. Rekursion ermöglicht
Funktionen können auch Argumente annehmen. Das
Handling ist genauso wie bei Skriptargumenten, die aus der
Kommandozeile kommen, also $1, $2, etc.
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Funktionen: Beispiel
Funktionen: Returnstatus
Funktionen: Returnstatus Beispiel
Funktionen: Returnstatus Beispiel
foo() {
echo Argument: $1 ;
return 0;
}
echo ’Skript startet’;
foo Ich bin das Argumet
echo ’Skript endet’;
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Kommandos
Es gibt zwei verschiedene Formen von Kommandos in
Shellskripten
Die eingebauten Kommandos, die intern in der Shell
implementiert sind
Die externen Kommandos, die eine entsprechend
ausführbare Datei im Filesystem haben
Die meisten Kommandos sind extern
Es ist meist egal, ob ein Kommando intern oder extern ist.
Der einzige Unterschied ist, dass interne effizienter
ausgeführt werden können.
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Eingebaute Kommandos: break, continue
break wird genutzt, um eine Schleife vorzeitig abzubrechen,
bevor die Schleifenbedingung erfüllt worden ist
continue in der Schleife bewirkt, dass der Rest der Schleife
übersprungen und bei er nächsten Iteration fortgesetzt wird
. führt ein Kommando in der momentanen Shell aus, wobei
die Umgebung tatsächlich die gleiche ist; d.h. von solchen
ausgeführten Kommandos können Umgebungsvariablen
überschrieben werden
Bsp.: .shellskript
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Kommandos: echo,eval
echo gibt einen String aus. Der Parameter -n bewirkt, dass
kein Zeilenumbruch erzeugt wird
eval [args ...] werden gelesen und in ein einzelnes
Kommando zusammenkopiert, welches dann von der Shell
gelesen und ausgeführt wird
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Kommandos: echo,eval Beispiel
foo=10; x=foo; y=’$’$x
echo $y
Die Ausgabe ist hier $foo, aber
foo=10; x=foo; eval y=’$’$x
echo $y
ergibt die Ausgabe 10.
Es wird also nicht der Strng $foo ausgegeben, sondern
dessen Wert
Erinnerung: bei y=’$’$x muss das erste $ in einfache
Anführungszeichen gesetzt werden, da $$ sonst als
ProzessID ausgewertet wird
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Kommandos: exec,exit,export,expr,printf,return
exec wird genutzt um die momentane Shell mit der anderen
zu ersetzen
Bsp.: ’exec ksh’ würde die momentane Shell mit der Korn
Shell ersetzen
exit gibt Exit Status zurück
export setzt eine Umgebungsvariable
expr wertet seine Argumente als einen arithmetischen
Ausdruck aus
Bsp.: x=‘expr $x + 1‘ inkrementiert um 1
In Bashskripten wird häufig die effizientere $((..)) Syntax
verwendet ( x=$(( x + 1 )))
printf ist ähnlich dem printf aus C/C++, aber etwas
einfacher
Shellprogrammierung
Bsp.: printf %s %d
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Kommandos: set, shift
set setzt die Argumentvariablen $1, $2, .. neu. Dies kann
sinnvoll sein, um aus Programmen durch Zeichen getrennte
Werte zu extrahieren
Bsp.: set ‘uname -a‘ bewirkt, dass $1 den Kernel, $2 den
Hostnamen, $3 die Kernelversion etc. beinhalten anstatt
der Skriptargumente
shift bewirkt, dss die Argumentvariablen $1, $2, ... jeweils
um eins nach links verschoben werden, d.h. $2 wird $1, $3
wird $2, ...
Der Wert von $1 geht verloren und $0 bleibt immer
unverändert. shift wird meist genutzt, um die Argumente
nach bestimmten Mustern zu durchsuchen. $# usw. werden
automatisch entsprechend mit angepasst.
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Eingebaute Kommandos: break, continue
Kommandos: echo,eval
Kommandos: echo,eval Beispiel
Kommandos: exec,exit,export,expr,printf,return
Kommandos: set, shift
Kommandos: unset, sleep, trap
Kommandos: unset, sleep, trap
unset entfernt Variablen aus der Umgebung
sleep n wartet n Sekunden
trap wird benutzt, damit bei Empfang von Signalen
bestimmte Aktionen durchgeführt werden können
Bsp.: trap Kommando signal
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Signale und trap
Signale: Beispiel
Signale
Das Betriebssystem sendet bei bestimmten Anlässen, z.B.
Programmabbruch, Signale die von Programmen und
Skripten zur Programmsteuerung verwendet werden
können.
HUP - Hang Up; Wird gesendet wenn sich ein User ausloggt
INT - Interrupt; Wird gesendet wenn Ctrl-C gedrückt
wird;Programmabbruch
QUIT - Wird gesendet wenn Ctrlgedrückt wird
ABRT - Wird bei schweren Fehlern gesendet
ALRM - Wird bei einem Time-Out gesendet
TERM - Terminate; Wird gesendet wenn das System
herunter fährt
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Signale und trap
Signale: Beispiel
Signale und trap
Das Kommando trap kann bei Ankunft von Signalen
Kommandos ausführen
Eine häufige Anwendung ist das Löschen von temporären
Dateien bei Programmabbruch (Signal INT)
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Signale und trap
Signale: Beispiel
Beispiel
trap ’rm -f /tmp/my tmp file $$’ INT
echo erzeuge temp datei /tmp/my tmp file $$
while [ -f /tmp/my tmp file $$ ]; do
echo Datei existiert noch
sleep 1
done;
echo ’Datei ist gelöscht!’
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Substring
Substring
Substring
Substring
Entfernung
Entfernung II
Ersetzung
Ersetzung II
Stringmanipulation
Die Bash stellt einige interessante Möglichkeiten zur
Verfügung Strings zu manipulieren. Einige sind eingebaut,
andere nutzen expr
Stringlänge: ${#string}
Länge der Stringübereinstimmung am Anfang des String
expr match $string ’$substring’, wobei $substring ein
regulärer Ausdruck ist
Bsp.: string=abcdefg; echo ‘expr match $string ’abc[a-e]*’‘
Position eines Substrings in einem String
expr index $string ’$substring’
Substring Extrahieren
${ string:position} oder ${ string:position:länge}
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Substring
Substring
Substring
Substring
Entfernung
Entfernung II
Ersetzung
Ersetzung II
Substring Entfernung
${ string#substring entfernt die kürzeste Übereinstimmung
von $substring vom Anfang des Strings $string
Bsp.: string=abcdef; b=${ string#a*c}; echo $b
Ausgabe: abcdef
${ string##substring} entfernt die längste
Übereinstimmung von $substring vom Anfang des Strings
$string
Bsp.: string=abcabcdef: b=${ string#a*c}; echo $b
Ausgabe: def
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Substring
Substring
Substring
Substring
Entfernung
Entfernung II
Ersetzung
Ersetzung II
Substring Entfernung II
${ string%substring} entfernt die kürzeste
Übereinstimmung von $substring vom Ende des Strings
$string
Bsp.: string=abcdefdef; b=${ string%d*f}; echo $b;
Ausgabe: abcdef
Analog entfernt ${ string%%substring} wieder die längste
Übereinstimmung
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Substring
Substring
Substring
Substring
Entfernung
Entfernung II
Ersetzung
Ersetzung II
Substring Ersetzung
${ string/substring/ersetzung} ersetzt die erste
Übereinstimmung von $substring mit $ersetzung
${ string//substring/ersetzung} ersetzt alle
Übereinstimmungen von $substring mit $ersetzung
${ string/#substring/ersetzung} ersetzt den substring mit
$ersetzung falls der Anfang von $string mit $substring
übereinstimmt
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Substring
Substring
Substring
Substring
Entfernung
Entfernung II
Ersetzung
Ersetzung II
Substring Ersetzung II
${ string/%substring/ersetzung} ersetzt den substring mit
$ersetzung falls das Ende von $string mit $substring
übereinstimmt
Sehr mächtige Tools zur Stringmanipulation sind die
Programme sed und awk, die von der Bash aus aufgerufen
werden können
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Definition und Anwendung
Reguläre Ausdrücke beschreiben ein Zeichenmuster bzw.
eine Sequenz von Zeichen
Sie arbeiten mit Meta-Zeichen, die in der Beschreibung des
Ausdrucks immer eine bestimmte Bedeutung oder Funktion
haben
Man nutzt reguläre Ausdrücke um eine Menge von
Zeichenketten zu beschreiben anstatt einer einzelnen.
grep, sed und awk sind bekannte Programme, die reguläre
Ausdrücke nutzen und in der Linux/Unix Shell zum
Einsatz kommen
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Grundlagen
Die grundlegenste Eigenschaft eines regulären Ausdruckes
ist die Verkettung von Zeichen
Der Ausdruck ’ABE’ beschreibt eine Zeichenkette bei der dem
A ein B folgt, und dem B ein E
Reguläre Ausdrücke sind meist Case-Sensitiv, d.h. in dem
oben genannten Beispiel würde die Zeichenkette ’abe’ nicht
von dem Ausdruck beschrieben werden
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Metazeichen
Interessant werden reguläre Ausdrücke erst, wenn man
auch Metazeichen benutzt. Diese werden an Literale
angehängt, um das Verhalten dieser im Ausdruck flexibler
auszudrücken.
Beispiele:
Das Metazeichen * bedeutet ’keines oder mehr’
Der Ausdruck A*E bedeutet ’kein oder beliebig viel A
gefolgt von einem E’
AAAAAE wird von diesem Ausdruck beschrieben
E wird von diesem Ausdruck beschrieben
ABE wird nicht von diesem Ausdruck beschrieben
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Die wichtigsten Metazeichen
* ’keines oder mehr Zeichen’
. ’genau ein Zeichen’
[..] eines aus der in den eckigen Klammern definierten
Klasse von Zeichen
Ein ∧ invertiert die Bedeutung der Klammer
Ein - gibt einen Zeichenbereich an
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Die wichtigsten Metazeichen (2)
∧ das erste Zeichen eines regulären Ausdrucks
$ das letzte Zeichen eines regulären Ausdrucks
\{n, m\} matcht einen Bereich des vorhergehenden
Zeichens
\ escaped ein Zeichen mit Sonderfunktion
Beispiele:
[A − Z]\{5\} beschreibt Zeichenketten die Zeichen zwischen
A und Z mit genau der Länge 5 haben
[A − Z]\{5, \} beschreibt Zeichenketten die Zeichen
zwischen A und Z mit mindestens der Länge 5 haben
[A − Z]\{5, 10\} beschreibt Zeichenketten die Zeichen
zwischen A und Z mit mindestens 5 und maximal 10
Zeichen länge
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Erweiterte Syntax nach POSIX (egrep, awk)
+ eins oder mehr der vorherigen Zeichens
? genau eins oder keins des vorherigen Zeichens
| Oder-Verknüpfung; entweder der vorhergehende oder der
nachfolgende Ausdruck kann zum Matchen des Ausdrucks
verwendet werden
(...) gruppiert reguläre Ausdrücke
{ n,m} wie \{n, m\} (Nur in der POSIX-Version von egrep
und awk)
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Abkürzungen für Zeichenklassen
:alnum: Alphanumerische Zeichen ( = [a-zA-Z0-9])
:alpha: Zeichen des Alphabets
:digit: Numerische Zeichen (Ziffern, Plus, Minus)
:blank: Leerzeichen und Tabulator
:space: Whitespaces
:punct: Satzzeichen
:lower: Kleinbuchstaben
:upper: Großbuchstaben
...
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Fazit
Einzelne reguläre Ausdrücke sind einigermaßen zu
verstehen.
Es ist häufig problematisch einen Gesamtkontext zu
erfassen
Man sollte sich vorher genau im klaren sein, was der
Ausdruck beschreiben soll
Reguläre Ausdrücke sollte immer sehr ausführlich getestet
werden, bevor sie in einem Skript zur Anwendung kommen
Es gibt häufig Unterschiede im Umfang der
Implementationen von regulären Ausdrücken in Unix Tools
Shellprogrammierung
Operatoren
Schleifen
Case
Funktionen
Kommandos
Signale
Stringmanipulation
Reguläre Ausdrücke
Grundlagen
Metazeichen
Die wichtigsten Metazeichen
Die wichtigsten Metazeichen (2)
Erweiterte Syntax
Abkürzungen
Fazit
Abschliessende Beispiele
Abschliessende Beispiele
Datum der Form DD-MM-YYYY
[0-9]–2˝-[0-9]–2˝-[0-9]–4˝
HTML Tag
¡[ˆ¿]*¿
E-Mail-Adresse (nicht 100“%)
ˆ([“˙a-z0-9-]+)(“.[a-z0-9-+])*@([a-z0-9-]+“.)+([a-z]–2,4˝
Shellprogrammierung

Documentos relacionados