Bash-Scripting Linux-Kurs der Unix-AG

Ähnliche Dokumente
Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Computer & GNU/Linux Einführung Teil 4

Übersicht Shell-Scripten

Linux und Shell-Programmierung Teil 5

Einführung Unix Shell

Vorlesung Unix-Praktikum

Luis Kornblueh. May 22, 2014

Arithmetik in der tcsh

Linux und Shell-Programmierung Teil 6

Einführung in die Kommandozeile

Linux Prinzipien und Programmierung

Alles, was man auf der Kommandozeile eingeben kann, kann man auch in einem Skript verwenden. Umgekehrt gilt das gleiche.

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Übung 4: Schreiben eines Shell-Skripts

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Arzu Sanli Ibrahim Canakci

Linux Tutorium. 12. Shellprogrammierung. Version vom :38:56

Shell-Programmierung. von Rolf Schmidt für. LUG Frankfurt

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Shellprogrammierung Die Linux Shell Besondere Zeichen Pipes Variablen Bedingungen und Tests

Übung: Entwickeln eines Shell-Skripts

Technische Praxis der Computersysteme 1

Crashkurs Kommandozeile

105.1 Shell, Scripting

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Vorlesung Unix-Praktikum

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Unix-Shells. mehrere Befehle in einer Zeile. bash: Grundlagen. Ein- und Ausgaben umlenken. Befehle: Dateien und Verzeichnisse (1)

Vorlesung Unix-Praktikum

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Eine kleine Befehlssammlung für Java Teil1

Prozesse, Logs und Systemverwaltung

Technische Praxis der Computersysteme

Shell-Programmierung

Technische Praxis der Computersysteme I 3. Vorlesung

Bash Skripte erlauben die Automatisierung von wiederkehrenden Befehlsfolgen.

SelfLinux Dateien unter Linux

Einführung in die Computerlinguistik

Freelance DeltaPLC-Tool. Version 4 / Version 5

Arbeiten mit der Shell Teil 1

Überblick zum Thema CDO und Shell-Skripting

Einführung Linux-Kurs der Unix-AG

VNUML Projektpraktikum

Eine Mini-Shell als Literate Program

Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester Dipl.-Ing. (FH) Volker Schepper

Patricia Jung. Einführung in die Shellprogrammierung. Modul IF LIN 04 der Linux-Akademie im Rahmen der Informatica Feminale 2008 in Bremen

Vorlesung 4: Shell-Scripting (Teil 1)

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License.

Okt 10, 16 17:29 UNIX/Linux Lösung

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Arbeiten mit der Shell Teil 1

cs106 Informatiklabor Teil 1: Java-Installation

Linux / Unix - Shells

Informatik I: Einführung in die Programmierung

Programmieren I + II Regeln der Code-Formatierung

Bunte Shells - Benutzung der Shellfarben

Arbeiten in der Unix-Kommandozeile

FH Frankfurt am Main WS 2007/2008. Unix-Praktikum

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 5 Shell-Programmierung

Linux - a bit advanced

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

Grundlagen. Wie sind PHP-Dateien aufgebaut?

BASH Handout Vorlesungsbegleitend Version

Benutzer und Rechte Teil 2

Arbeiten in der Unix-Kommandozeile

Brainfuck Interpreter für ZX81

Aufgabensammlung IT Shellprogrammierung Teil I

SelfLinux Dateien unter Linux

Einige Eigenschaften der Bourne-Shell und der bash

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

ShellScripting : Shell Scripte

Schleifen: Immer wieder dasselbe tun

Arbeiten mit der Shell Teil 1

Linux-Einführung Übung

Programmieren I + II Regeln der Code-Formatierung

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

LPI 102 Shell, Scripting, Programmieren und Administrative Tätigkeiten

17. Oktober Ubucon 2010, Universität Göttingen. Eine Einführung in Tcl. Dominik Wagenführ. Einleitung. Grundlagen. Strings.

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

L A TEX, Linux, Python

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Operatoren Schleifen Case Funktionen Kommandos Signale Stringmanipulation

Der Standard-Editor vi

Deshalb ist hello + world = 0. Umgekehrt gilt das Gleiche, weshalb 8 plus 3 gleich 83 ist. Dies ist in Zeile 5 in Terminal 2 gezeigt. In der Regel sol

Runde 2: Von der Statik zur Dynamik - Team Header

Prüfung Betriebssysteme 1

UNIX Die wichtigsten Befehle

Transkript:

Bash-Scripting Linux-Kurs der Unix-AG Zinching Dang 02. Juli 2013

Was ist ein Bash-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich bei wiederkehrenden Routine-Aufgaben, die aus mehreren Befehlen bestehen Scripte müssen ausführbar sein (x bei Zugriffsrechten) Zinching Dang Bash-Scripting 02. Juli 2013 2 / 13

Hello World! 1 #!/ bin / bash 2 echo " Hello World! " Gibt Hello World! auf der Standard-Ausgabe aus # fängt einen einzeiligen Kommentar an #! gibt an, mit welchem Programm das Script ausgeführt werden soll /bin/bash ist die Standard-Shell unter Debian/Ubuntu /bin/sh ist eine rudimentäre Shell, die normalerweise unter jeder Linux-Distribution installiert ist echo gibt Text zwischen den Anführungszeichen auf der Standard-Ausgabe aus Zinching Dang Bash-Scripting 02. Juli 2013 3 / 13

Variablen Shellvariablen nur in der aktuellen Shell verfügbar wird mit Variable=Wert definiert mit $Variable kann auf die Variable zugegriffen werden löschen mit unset Umgebungsvariable Weitergabe an Kindprozesse mit export VARIABLE Mit export -n wird aus einer Umgebungsvariable wieder eine Shellvariable Zinching Dang Bash-Scripting 02. Juli 2013 4 / 13

Programmparameter Programme/Scripte werden mit./programm aufgerufen es können Parameter angegeben werden:./programm par1 par2 auf diese kann im Script mit $1, $2 zugegriffen werden $* enthält alle Parameter $# enthält die Anzahl der übergebenen Parameter $0 enthält den Programm-/Script-Namen Zinching Dang Bash-Scripting 02. Juli 2013 5 / 13

Exit-Status Programme können mit oder ohne Fehler beendet werden Kein Fehler bedeutet Rückgabewert 0 Fehler erzeugen einen Rückgabewert größer 0 Kann mit $? ausgelesen werden Kann durch exit Wert gesetzt werden (Bsp. exit 33) Code hinter && wird nur ausgeführt, wenn der erste Befehl erfolgreich war z.b. rm foo && echo "geloescht!" Code hinter nur, wenn der erste Befehl nicht erfolgreich war z.b. rm verz/ echo "geht nicht" Zinching Dang Bash-Scripting 02. Juli 2013 6 / 13

test test überprüft eine Bedingung, Kurzschreibweise mit [ ] -e DATEI (exists): wahr, wenn die DATEI existiert -d VERZ (directory): wahr, wenn die VERZ ein Verzeichnis ist s1 = s2: wahr, wenn die Zeichenkette s1 identisch mit s2 ist s1!= s2: wahr, wenn sie nicht identisch sind n1 -eq n2 (equal): wahr, wenn n1 und n2 gleich sind n1 -ne n2 (not equal): wahr, wenn n1 und n2 nicht gleich sind n1 -gt n2 (greater then): wahr, wenn n1 größer als n2 ist n1 -ge n2 (greater equal): wahr, wenn n1 größer gleich n2 ist n1 -lt n2 (lower then): wahr, wenn n1 kleiner als n2 ist n1 -le n2 (lower equal): wahr, wenn n1 kleiner gleich n2 ist Zinching Dang Bash-Scripting 02. Juli 2013 7 / 13

Beispiele test -e foo: überprüft ob die Datei foo im aktuellen Verzeichnis existiert [ -e foo ]: macht dasselbe [ abc = def ]: überprüft ob der Text abc mit def übereinstimmt [ 23 -lt 42 ]: überprüft ob 23 kleiner als 42 ist Ergebnis der Überprüfung findet sich im Exit-Status und kann mit echo $? abgefragt werden Wichtig: Leerzeichen nach der öffnenden und vor der schließenden eckigen Klammer Zinching Dang Bash-Scripting 02. Juli 2013 8 / 13

if-bedingung 1 if Bedingung1 ; then 2 Befehl1.1 3 Befehl1.2 4 elif Bedingung2 ; then # elif ist optional 5 Befehl2.1 6 Befehl2.2 7 else # else ist optional 8 Befehl3.1 9 Befehl3.2 10 fi wenn Bedingung1 erfüllt ist, werden die Befehle 1.1 und 1.2 ausgeführt falls Bedingung1 nicht erfüllt ist, aber Bedingung2, dann werden die Befehle 2.1 und 2.2 ausgeführt in allen anderen Fällen die Befehle 3.1 und 3.2 Zinching Dang Bash-Scripting 02. Juli 2013 9 / 13

Beispiele 1 #!/ bin / bash 2 if [ $ # - eq 2 ]; then # Anz. Parameter 3 if [ $1 - gt $2 ]; then # $1 > $2 4 echo $1 " ist groesser als " $2 5 elif [ $1 - lt $2 ]; then # $2 > $1 6 echo $1 " ist kleiner als " $2 7 else # ansonsten $1 == $2 8 echo $1 " und " $2 " sind gleich gross " 9 fi 10 else # nicht genug Parameter 11 echo " Es muessen 2 Parameter uebergeben werden! " 12 fi Zinching Dang Bash-Scripting 02. Juli 2013 10 / 13

for-schleifen 1 for i in XXX ; do 2 Befehl 3 done XXX kann eine Liste oder ein Befehl sein Befehle müssen `befehl` oder $(befehl) geschrieben werden for i in $* geht alle Parameter durch Zinching Dang Bash-Scripting 02. Juli 2013 11 / 13

Beispiele 1 #!/ bin / bash 2 liste = '1 2 3 ' # Hochkomma, auf der # - Taste 3 for i in $liste ; do 4 echo $i 5 done 1 #!/ bin / bash 2 for i in ` seq 1 3 `; do # Gravis, neben der? - Taste 3 echo $i 4 done 1 #!/ bin / bash 2 for i in $ ( seq 1 3) ; do 3 echo $i 4 done Zinching Dang Bash-Scripting 02. Juli 2013 12 / 13

nützliche Dinge read wartet auf eine Eingabe ins Terminal. Wird mit Enter bestätigt read -s liest die Eingabe ohne sie anzuzeigen sleep 10 wartet 10 Sekunden ab $((Ausdruck)) wertet den Ausdruck arithmetisch aus x=$(($x+1)) erhöht x um eins Zinching Dang Bash-Scripting 02. Juli 2013 13 / 13