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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Foliensatz 7 Shell-Programmierung Inhalt Aufbau Shell-Skript Tests Eingabe- und Ausgabebefehle Verzweigungen Schleifen Funktionen Hilfreiche (Bash-)Befehle Shell-Skript Ein Shell-Skript ist einen Textdatei, die von der Shell interpretiert wird. Um ein möglichst portables Shell-Skript zu schreiben, darf man nur die POSIX-konforme Syntax und die POSIX-konformen Befehle verwenden. Da aber die Bash die Standardshell der meisten Linux-Distributionen und /bin/sh zumeist ein Link auf /bin/bash ist, ist es in den meisten Fällen okay, auch spezielle Bash-Befehle zu verwenden. Alles, was man auf der Kommandozeile eingeben kann, kann man auch in einem Skript verwenden. Umgekehrt gilt das gleiche. Daher ist es möglich, zuerst direkt auf der Kommandozeile Befehle zu kombinieren und auszuprobieren und später daraus ein Skript zu machen. Eine gute Dokumentation, die kurz und bündig ist, aber viele Beispiele umfasst, ist der Advanced Bash- Scripting Guide. Shell-Skript - Aufbau In einem Shell-Skript werden meist überwiegend Shell-Befehle benutzt. Zu den Shell-Befehlen gehören unter anderem: Variablenzuweisungen Tests (test, [... ], [[... ]]) Verzweigungen (if, case) Schleifen (for, while, until) Ein- und Ausgabebefehle (read, echo, printf) Funktionen (function) Darüber hinaus können natürlich auch alle anderen Programme wie head, tail, cut, verwendet werden. Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 1 von 10

2 Um ein Skript ausführbar zu machen, muss das Executable-Bit auf die Datei gesetzt werden und in der ersten Zeile muss ein entsprechender Shebang stehen (für portable Skripte #!/bin/sh, sonst #!/bin/bash). Oder man ruft das Skript direkt mit Hilfe der Bash auf, also bash skript.sh. Shell-Skript - Stellungsparameter Einem Shell-Skript können beim Aufruf wie jedem anderen Befehl Argumente übergeben werden. Die Shell stellt für das Arbeiten mit den Argumenten die Stellungsparameter sowie einige spezielle Parameter zur Verfügung. $1, $2, $3, sind die Stellungsparameter. In $1 ist das erste Argument, in $2 das zweite Argument und so weiter. Man kann ihnen keinen Wert direkt zuordnen (nur über den Bash-Befehlset). Von den speziellen Parametern sind $*, $@ und $# für das Arbeiten mit den Stellungsparametern wichtig. Shell-Skript - Spezielle Parameter Den sogenannten speziellen Parametern kann kein Wert zugewiesen werden und sie werden von Shell speziell behandelt: $*: Expandiert zu den Stellungsparametern. Werden doppelte Anführungszeichen benutzt ("$*"), so wird zu einem einzigen Wort expandiert. Die Werte der Stellungsparameter sind durch das erste Zeichen von $IFS (normalerweise das Leerzeichen) getrennt (also "$1 $2 $3..."). $@: Expandiert zu den Stellungsparametern. Werden doppelte Anführungszeichen benutzt ("$@"), so expandiert jeder Parameter zu einem eigenen Wort (also "$1" "$2" "$3"...). $#: Expandiert zur Anzahl der Stellungsparameter. $?: Expandiert zum Rückgabewert des letzten, im Vordergrund ausgeführten Befehls. $$: Expandiert zur PID der Shell (auch wenn in einer Subshell verwendet). $!: Expandiert zur PID des letzten, im Hintergrund gestarteten Befehls. $0: Expandiert zum Namen der Shell oder des Shell-Skripts. Shell-Skript - Befehle für Stellungsparameter (set, shift) set - Setzt oder löscht Shell-Optionen bzw. setzt Stellungsparameter.» Wir gehen nicht näher auf die Shell-Optionen ein.» Syntax: set -- Parameter1 Parameter2...» $ set -- Param1 "Param 2" $ echo $1 Param1 $ echo $2 Param 2 shift - Entfernt die ersten N Stellungsparameter und rückt die anderen nach.» Falls kein Argument angegeben ist, wird als Anzahl N=1 benutzt.» Das heißt, der Parameter $N+1 wird zu $1, $N+2 wird zu $2 und so weiter.» Hat als Rückgabewert 0, wenn N nicht negativ und kleiner als $# ist. Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 2 von 10

3 » $ set -- Param1 "Param 2" "Param 3" $ echo $1 Param1 $ shift 2 $ echo $1 Param 3 Shell-Skript - Beispiele Hier ein Beispiel für ein einfaches Shell-Skript: #!/bin/sh # # Wir werden jetzt einige Stellungsparameter und spezielle Parameter testen. # Dazu dieses Skript mit mindestens drei Argumenten aufrufen. echo Alle Parameter mit \$*: \""$*"\" echo Alle Parameter mit \$@: \""$*"\" echo Anzahl der Parameter: $# echo $1 echo $2 echo $3 shift 3 echo Anzahl der Parameter: $# echo $1 $2 $3 In der ersten Zeile ist der Shebang. Dieser muss immer vorhanden sein! Danach folgen drei Zeilen mit Kommentaren (Shell-Kommentare beginnen mit dem Hash-Zeichen # und gehen dann bis zum Zeilenende). Anschließend sind die auszuführenden Befehle. Tests - Befehle Die Bash besitzt drei verschiedene Möglichkeiten, um Tests auszuführen: test: Eingebauter Bash-Befehl, der es ermöglicht, Zeichenketten oder Zahlen miteinander zu vergleichen bzw. Dateien zu überprüfen. Üblicherweise gibt es auch einen eigenständigen Befehl (in Ubuntu /usr/bin/test). [... ]: Das ist nur eine andere Syntax für den test-befehl. Man muss dabei die schließende Klammer immer zwingend angeben. Auch dafür gibt es einen eigenständigen Befehl (in Ubuntu /usr/bin/[). [[... ]]: Das ist eine Bash-Erweiterung der obigen Syntax, die die Verwendung angenehmer macht. Dieser Befehl ist eigentlich ein reserviertes Wort der Bash und wird daher von der Bash etwas anders verarbeitet als normale Befehle. Daher muss man Operatoren wie < und && nicht maskieren. Abgesehen davon können die gleichen Tests wie bei den obigen Varianten verwendet werden. Bezüglich der Unterschiede der drei Möglichkeiten siehe auch BashFAQ/031. Verwendet wird wie üblich der Rückgabewert: 0 (wahr) bzw. 1 (falsch). Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 3 von 10

4 Tests 1 Hier eine Auflistung der wichtigsten Tests: Dateiexistenz und Dateitypen: -e Datei Existiert die Datei? -d Datei Existiert die Datei und ist sie ein Verzeichnis? -f Datei Existiert die Datei und ist sie eine normale Datei? -L Datei Existiert die Datei und ist sie ein symbolischer Link? -s Datei Existiert die Datei und ist sie nicht leer? Zeichenketten: -z String Wahr, falls die Länge der Zeichenkette 0 ist. -n String Wahr, falls die Länge der Zeichenkette nicht 0 ist. String1 = String2 Wahr, falls beide Zeichenketten gleich sind. String1!= String2 Wahr, falls beide Zeichenketten nicht gleich sind. String1 < String2 Wahr, falls String1 lexikographisch vor String2 kommt. String1 > String2 Wahr, falls String1 lexikographisch nach String2 kommt. Tests 2 Arithmetische Operatoren: Syntax: Argument1 OPERATOR Argument2 -eq Wahr, falls Argument1 gleich Argument2 ist. -ne Wahr, falls Argument1 ungleich Argument2 ist. -lt Wahr, falls Argument1 kleiner Argument2 ist. -le Wahr, falls Argument1 kleiner gleich Argument2 ist. -gt Wahr, falls Argument1 größer Argument2 ist. -ge Wahr, falls Argument1 größer gleich Argument2 ist. Für einen Übersicht aller möglichen Tests siehe CONDITIONAL EXPRESSIONS in der Manpage der Bash oder help test. Nützlich für Tests sind auch folgende zwei Bash-Befehle: true Hat als Rückgabewert immer 0 (wahr) false Hat als Rückgabewert immer 1 (falsch) Tests - Beispiele Überprüfen, ob eine Datei existiert und eine reguläre Datei ist: $ [[ -f Datei ]] && echo ja echo nein Vergleichen von Zeichenketten: $ STR1="" $ STR2="hallo" $ STR3="HALLO" Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 4 von 10

5 $ [ $STR1 = "" ] && echo ja echo nein -bash: [: =: unary operator expected nein $ [ "$STR1" = "" ] && echo ja echo nein ja $ [[ "$STR1" = "" ]] && echo ja echo nein ja $ [[ $STR2 < $STR3 ]] && echo ja echo nein ja Ausgabebefehle (echo, printf) echo - Gibt die Argumente aus.» Optionen: -n Keinen Zeilenumbruch ausgeben, -e Auswertung von einigen maskierten Zeichen erlauben (z.b. \n neue Zeile, \r Wagenrücklauf, \t Tabulator), -E explizit die Auswertung von maskierten Zeichen unterdrücken.» Der Rückgabewert ist immer 0 außer ein Schreibfehler tritt auf.» $ echo a b c a b c $ echo -e "a\tb" a b printf - Formatiert die Argumente basierend auf einem Format.» Syntax: printf [-v Variable] Format [Argumente]» Option -v Variable die Ausgabe wird der Variablen zugewiesen und nicht auf der Standardausgabe ausgegeben» Format ist eine Formatspezifikation gemäß man 1 printf.» $ printf "%s %5.2f\n" Hallo Hallo 5.33 $ printf "%7.2f\n" Eingabebefehle (read) read - Liest eine Zeile von der Standardeingabe und teilt sie in Felder.» Syntax: read [Optionen] [Name...]» Optionen: -p Prompt einen Eingabeprompt anzeigen (ohne Zeilenumbruch), -s Eingabe vom Terminal nicht ausgeben (z.b. für Passworteingabe), -t Timeout nach einer bestimmten Anzahl von Sekunden die Eingabe abbrechen.» Die eingelesenen Felder werden den angegebenen Variablen zugewiesen, das letzte Feld bekommt alles, was übrig bleibt. Wird kein Variablenname angegeben, wird die Zeile in der Variablen REPLY gespeichert.» $ echo "a b c" read a b c $ echo $a$b$c $ echo "a b c" (read a b c && echo $a$b$c) abc $ read -p "Bitte um Eingabe: " -t 5 VAR && echo $VAR echo Abbruch # keine Eingabe Bitte um Eingabe: Abbruch $ read -p "Bitte um Eingabe: " -t 5 VAR && echo $VAR echo Abbruch Bitte um Eingabe: Hallo du Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 5 von 10

6 Hallo du if Verzweigung if Liste; then Liste; [ elif Liste; then Liste; ]... [ else Liste; ] fi Eine if-verzweigung wird in Wenn - dann -Fällen verwendet, d.h. wenn man auf Grund eines Rückgabewerts den Programmablauf entweder in die eine oder in die andere Richtung lenken will. Eine Liste ist dabei eine Liste von Befehlen wie in Arbeiten mit der Bash definiert. Die Listen bei if und elif entsprechen den Verzweigungsbedingungen. Die if Liste wird ausgeführt und wenn der Rückgabewert 0 ist, wird die then Liste ausgeführt. Ansonsten wird jede (optionale) elif Liste der Reihe nach ausgeführt und wenn der Rückgabewert 0 ist, die zugehörige then Liste ausgeführt und der Befehl beendet. Falls das auch nicht der Fall ist und es eine else Liste gibt, wird diese ausgeführt. Der Rückgabewert ist der Rückgabewert des letzten ausgeführten Befehls oder 0, falls keine Bedingung wahr war. if Verzweigung - Beispiel Hinweis: Eine Liste kann auch durch einen Zeilenumbruch abgeschlossen werden. Das erlaubt eine schönere Darstellung in einem Shell-Skript. Als Beispiel werden wir ein Skript schreiben, dass von Fahrenheit in Celsius umrechnet und umgekehrt. Das Skript braucht zwei Argumente: Das erste Argument gibt die Skala für die Temperatur an (Fahrenheit oder Celsius) und das zweite Argument die Grad. Folgende Schritte braucht man für die Berechnung von Celsius aus Fahrenheit: 1. Die Temperatur in Fahrenheit nehmen und davon 32 abziehen. 2. Das Ergebnis durch 1.8 dividieren. 3. Das Ergebnis ist die Temperatur in Celsius. In Formeln zusammengefasst: C = ( F - 32) * 5/9 F = C * 9/ case Verzweigung case Wort in [Muster [ Muster ]... ) Liste ;; ]... esac Eine case-verzweigung wird verwendet, wenn es für ein Wort mehrere mögliche Werte gibt und abhängig davon bestimmte Befehle ausgeführt werden sollen. Das Wort und die Muster werden expandiert und es wird überprüft, ob das expandiert Wort auf ein expandiertes Muster nach den Regeln der Pfadexpansion (siehe Arbeiten mit der Bash ) passt. Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 6 von 10

7 Falls ein Muster passt, wird die entsprechende Liste ausgeführt und kein weiteres Muster wird überprüft (wenn ;; am Ende der Liste benutzt wird, es gibt auch noch andere Möglichkeiten, die wir hier nicht behandeln). Der Rückgabewert ist 0, wenn kein Muster gepasst hat oder sonst der Rückgabewert des letzten ausgeführten Befehls der Liste. Wir schreiben nun das vorhin erstelle Programm um und verwenden jetzt case anstatt von if. for Schleife for Name [in Wörter... ] ; do Liste ; done for (( Ausdruck1 ; Ausdruck2 ; Ausdruck3 )) ; do Liste ; done Eine for-schleife wird verwendet, um Befehle eine bestimmte Anzahl an Durchläufen auszuführen. In der ersten Variante werden die Wörter expandiert. Dann wird die Variable Name der Reihe nach auf die einzelnen Worte gesetzt und jedes Mal die Liste an Befehlen ausgeführt. Wenn die Expansion nichts ergibt, wird als Rückgabewert 0 zurückgegeben, ansonsten ist der Rückgabewert der des letzten ausgeführten Befehls. In der zweiten Variante wird zuerst Ausdruck1 arithmetische ausgewertet. Ausdruck2 wird solange ausgewertet, bis der Wert 0 herauskommt. Jedes Mal, wenn bei Ausdruck2 ein Wert ungleich 0 herauskommt (entspricht Rückgabewert 0), wird die Liste ausgeführt und Ausdruck3 arithmetisch ausgewertet. Der Rückgabewert ist der Rückgabewert des letzten Befehls in der Liste oder 1, falls einer der Ausdrücke ungültig sein sollte. for Schleife - Beispiel Als Beispiel werden wir ein Skript schreiben, dass alle Benutzernamen und IDs der Benutzer, die in einer Datei definiert sind, auflistet. Das Skript braucht als Argument die Datei, von der es die Daten lesen soll. Die Datei muss dabei dem Format der Datei /etc/passwd folgen. while/until Schleife while Liste1; do Liste2; done until Liste1; do Liste2; done Die while-schleife dient zur Ausführung von Befehlen, solange eine Bedingung wahr ist. Die until -Schleife dient zur Ausführung von Befehlen, bis eine Bedingung wahr ist. Bei der while-schleife werden die Befehle in Liste2 wiederholt ausgeführt, solange der letzte Befehl in Liste1 einen Rückgabewert von 0 hat. Bei der until-schleife werden die Befehle in Liste2 solange ausgeführt, bis der letzte Befehl in Liste1 einen Rückgabewert von 0 hat. Der Rückgabewert ist in beiden Fällen der Rückgabewert des letzten ausgeführten Befehls der Liste2, oder 0, falls von Liste2 kein Befehl ausgeführt worden ist. Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 7 von 10

8 Wir schreiben nun das vorhin erstelle Programm um und verwenden jetzt while anstatt von for. Funktionen name () Verbundbefehl function name [()] Verbundbefehl Eine Shell-Funktion erlaubt das Zuweisen eines Namens zu einem Verbundbefehl und dessen Aufruf über diesen Namen (wie einen einfachen Befehl). Die Verwendung des reservierten Worts function ist optional; falls es nicht verwendet wird, muss das Klammernpaar angegeben werden. Ruft man eine Funktion auf, so werden innerhalb der Funktion die übergebenen Argumente den Stellungsparametern temporär zugewiesen. Der Rückgabewert einer Funktion, wenn sie ausgeführt wird, ist der Rückgabewert des letzten ausgeführten Befehls. Funktionen - Beispiele Jeder Verbundbefehl ist möglich, normalerweise verwendet man {... ; }, damit Änderungen an Variablen innerhalb der Funktion auch im Aufrufkontext wirksam sind. $ A=5 $ testit () (A=7; echo Innerhalb: $A) $ echo $A; testit; echo $A 5 Innerhalb: 7 5 $ testit () { A=7; echo Innerhalb: $A ;} $ echo $A; testit; echo $A 5 Innerhalb: 7 7 Das Verwenden von Stellungsparametern funktioniert wie üblich: $ function add { echo Parameter: $@; echo $(($1 + $2)); } $ add 4 6 Parameter: Hilfreiche Befehle (alias, unalias, unset) alias - Definiert Aliase oder zeigt sie an.» Bash-interner Befehl.» Wird benutzt, um oft eingegebenen Befehlen kürzere Namen zuzuordnen oder um Standardoptionen automatisch zu setzen.» $ alias ls alias ls='ls --color=auto' $ alias z='ls -alf --color=auto' unalias - Entfernt Aliase.» Bash-interner Befehl. Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 8 von 10

9 » $ unalias z $ alias z -bash: alias: z: not found unset - Variablen und Funktionen löschen.» Löscht die angegebenen Variablen oder Funktionen.» $ VAR=5; echo $VAR 5 $ unset VAR; echo $VAR Hilfreiche Befehle (source, export) source - Führt Befehle von einer Datei in der aktuellen Shell aus.» Syntax: source Dateiname [Argumente] oder. Dateiname [Argumente]» Wird z.b. von Ubuntu für das Setzen von Standardwerten für Startskripte benutzt.» $ echo "$ACTIVE_CONSOLES" $. /etc/default/console-setup $ echo "$ACTIVE_CONSOLES" /dev/tty[1-6] export - Markiert Variablen für den automatischen Export an Subprozesse.» Wenn eine Variable definiert wird, ist sie nur für die aktuelle Shell und Subshells sichtbar. Erst durch das Markieren mittels export stehen Variablen auch ausgeführten Befehlen zur Verfügung.» Mit der Option -n kann man das Exportieren rückgängig machen.» $ VAR=Wert ; bash -c 'echo $VAR' $ export VAR ; bash -c 'echo $VAR' Wert $ export -n VAR ; bash -c 'echo $VAR' Hilfreiche Befehle (sleep, timeout) sleep - Wartet für die angegebene Anzahl an Sekunden.» Man kann auch Suffixe verwenden: s für Sekunden (default), m für Minuten, h für Stunden und d für Tage.» Die verwendete Zahl kann auch Kommastellen beinhalten.» $ date +"%S.%N"; sleep 0.05m; date +"%S.%N" timeout - Bricht einen Befehl nach einer bestimmten Anzahl an Sekunden ab.» Suffixe wie bei sleep möglich (Sekunden sind default).» Optionen: -s Signal legt das Signal fest (default TERM), das an den Befehl geschickt werden soll.» Der Rückgabewert ist der Rückgabewert des Befehls, oder 124, falls der Befehl abgebrochen wurde.» $ timeout 2 sleep 3 $ echo $? 124 Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 9 von 10

10 Hilfreiche Befehle (exec, locate) exec - Ersetzt die Shell durch einen Befehl.» Wird öfters in Shell-Skripts verwendet, wenn das Skript am Ende einen Befehl ausführen soll, damit kein unnötiger Shell-Prozess existiert.» $ exec vi locate - Sucht Dateien über ihren Namen.» Benutzt eine Datenbank, durchsucht also im Gegensatz zu find nicht das Dateisystem. Die Datenbank wird üblicherweise regelmäßig durch einen cron-job aktualisiert.» Es können Shell-Patterns oder reguläre Ausdrücke benutzt werden. Achtung: Falls kein Pattern benutzt wird, wird automatisch nach Muster gesucht!» Optionen: -b Nur in Dateinamen suchen, nicht im ganzen Pfad» $ locate -b '\passwd' /etc/passwd /etc/cron.daily/passwd /etc/pam.d/passwd /usr/bin/passwd /usr/share/bash-completion/completions/passwd /usr/share/doc/passwd /usr/share/lintian/overrides/passwd Copyright und Lizenz Copyright: Thomas Leitner thomas.leitner@univie.ac.at Basiert teilweise auf den Folien von Harald Schilly harald.schilly@univie.ac.at Lizenz: Creative Commons CC BY-NC-SA Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen 3.0 Österreich. - Technische Praxis der Computersysteme 1 Wintersemester 2013 Version: :16 Seite 10 von 10

Technische Praxis der Computersysteme 1

Technische Praxis der Computersysteme 1 Technische Praxis der Computersysteme 1 7. Shell-Programmierung Thomas Leitner Fakultät für Mathematik, Universität Wien Wintersemester 2012 Letzte Änderung: 2013-09-20 20:46:08

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 8. Juli 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 1. Februar 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Bash-Scripting Linux-Kurs der Unix-AG

Bash-Scripting Linux-Kurs der Unix-AG 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

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 6. Juli 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 31. Januar 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Shell-Programmierung

Shell-Programmierung Shell-Programmierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Shell-Programmierung 1/34 2009-04-27 Inhalt Einleitung

Mehr

Computer & GNU/Linux Einführung Teil 4

Computer & GNU/Linux Einführung Teil 4 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 4 Simon Haller, Sebastian Stab 1/20 Computer & GNU/Linux Einführung Teil 4 Simon Haller, Sebastian Stabinger, Benjamin Winder Inst. für Informatik

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Linux und Shell-Programmierung Teil 5

Linux und Shell-Programmierung Teil 5 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 5 Fachhochschule Frankfurt am Main WS1314 1/44 Linux und Shell-Programmierung Teil 5 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum 1/2 Vorlesung 6. - und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 23. November 2015 2/2 Willkommen zur sechsten Vorlesung Was gab es beim letzten Mal? Dateiverwaltung Aliase echo und

Mehr

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

Shell-Programmierung. von Rolf Schmidt für. LUG Frankfurt Shell-Programmierung von Rolf Schmidt für LUG Frankfurt Ziel des Vortrags Skripten für Einsteiger Arten der Shell-Programmierung Möglichkeiten der Shell-Programmierung Eigene Skripte erstellen zu können

Mehr

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

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 Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil

Mehr

Technische Praxis der Computersysteme I 3. Vorlesung

Technische Praxis der Computersysteme I 3. Vorlesung Technische Praxis der Computersysteme I 3. Vorlesung Bernhard Lamel Universität Wien, Fakultät für Mathematik WS 2007 Outline 1 Grundlegende Informationen 2 Umgang mit Textdateien 3 Schleifen und Kontrollstrukturen

Mehr

Crashkurs Kommandozeile

Crashkurs Kommandozeile Crashkurs Kommandozeile Thomas Werner This work is licensed under the Creative Commons Attribution ShareAlike 2.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by sa/2.0/de/

Mehr

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93 Skripte Wie kann ich mir komplexe Befehle merken? Gar nicht aber der Computer kann es für mich! Einfach die Befehle in eine Textdatei schreiben und ausführbar machen #! (Shebang) in der ersten Zeile bestimmt

Mehr

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

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 Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting POSIX POSIX POSIX ist ein UNIX-Standard, der bestimmte grundlegende Funktionen und Eigenschaften von UNIX-Systemen definiert. Dazu gehören auch

Mehr

Arzu Sanli Ibrahim Canakci

Arzu Sanli Ibrahim Canakci Shell-Programmierung 2 Agenda Projektziel Was ist die Shell? Shells im Vergleich Shell vs. C Wofür Shell-Programmierung? Shell-Programmierung Beispielprogramm Schlusswort Quellen 3 Projektziel Da die Möglichkeiten

Mehr

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

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Dateisystem 1, Suchen & Finden

Dateisystem 1, Suchen & Finden Dateisystem 1, Suchen & Finden Linux-Kurs der Unix-AG Benjamin Eberle 15. Juni 2016 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche Datei erzeugt

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

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

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus LUKAS LEIPOLD Shell Shell Oder Konsole suchen im Application Finder Auch Terminal, Bash oder Kommandozeile genannt Bash nimmt Befehle entgegen und führt diese aus Befehle I cd mkdir pwd rm mv cp ls ln

Mehr

Linux und Shell-Programmierung Teil 6

Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 6 Fachhochschule Frankfurt am Main WS1314 1/18 Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum 1/3 Vorlesung 5. und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 16. November 2015 2/3 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen 3/3

Mehr

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

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung Einführung in die Shell Grundlagen der Shell-Programmierung Daniel Lutz 22.10.2003 Teil 1: Einführung in die Shell 1 2 Was ist die Shell? Schnittstelle zwischen Benutzer und Computer

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Einführung Unix Shell

Einführung Unix Shell Einführung Unix Shell Prof. Dr. Rüdiger Weis Beuth Hochschule Berlin Wintersemester 2012/2013 Prof. Dr. Rüdiger Weis Einführung Unix Shell Beuth Hochschule Berlin 1 Datei Komandos 2 Wildcards 3 Variablen

Mehr

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

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

Desktop ade: Me and my shell

Desktop ade: Me and my shell Ein Shelldiskurs Desktop ade: Me and my shell Erkan Yanar erkmerk@gmx.de casus belli Warum auf einem Linuxtag mit Schwerpunkt Desktop? Beherrschung der Shell := freie Wahl des Desktops Beherrschung der

Mehr

Übung: Entwickeln eines Shell-Skripts

Übung: Entwickeln eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung: Entwickeln eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Dateisystem 2, RegEx, Manpages

Dateisystem 2, RegEx, Manpages Dateisystem 2, RegEx, Manpages Linux-Kurs der Unix-AG Andreas Teuchert 10. Dezember 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Benutzung der Manpage, Shell Teil 3

Benutzung der Manpage, Shell Teil 3 Benutzung der Manpage, Shell Teil 3 Linux-Kurs der Unix-AG Andreas Teuchert 3./9. Mai 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Dateisystem 2, Suchen & Finden

Dateisystem 2, Suchen & Finden Dateisystem 2, Suchen & Finden Linux-Kurs der Unix-AG Benjamin Eberle 15. Januar 2015 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche Datei erzeugt

Mehr

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

Linux Tutorium. 12. Shellprogrammierung. Version vom 02.07.2008 13:38:56 Linux Tutorium 12. Shellprogrammierung Version vom 02.07.2008 13:38:56 im Grunde ist ein Shell-Skript nichts anderes als eine Textdatei, welche Befehlsfolgen enthält Shell-Skripte werden im Wesentlichen

Mehr

105.1 Shell, Scripting

105.1 Shell, Scripting LPI Zertifizierung 105.1 Shell, 105.2 Scripting Copyright ( ) 2006-2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution- Noncommercial-Share Alike 2.0 Germany License.

Mehr

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

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion

Mehr

Linux-Einführung Übung

Linux-Einführung Übung Linux-Einführung Übung Mark Heisterkamp 24. 25. Februar 2010 1 Einführung und Grundlagen 1.1 Erste Schritte... 1.1.1 Xterminalfenster Öffnen Sie ein weiteres Xterminalfenster mit der Maus. mittels Kommando.

Mehr

Dateisystem 2, Suchen & Finden, Manpages

Dateisystem 2, Suchen & Finden, Manpages Dateisystem 2, Suchen & Finden, Manpages Linux-Kurs der Unix-AG Malte Koster 17. Januar 2014 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum Vorlesung 8. und interaktiv Technische Fakultät Universität Bielefeld 07. Dezember 2016 1 / 27 Willkommen zur achten Vorlesung Was gab es beim letzten Mal? interaktiv for-schleifen seq, basename CSV-Tabellen

Mehr

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

Unix-Shells. mehrere Befehle in einer Zeile. bash: Grundlagen. Ein- und Ausgaben umlenken. Befehle: Dateien und Verzeichnisse (1) Programmierkurs für absolute Anfänger Unix-Befehle und bash-skripte Caren Brinckmann Sommersemester 2005 http://www.coli.uni-saarland.de/~cabr/teaching.php Unix-Shells Shell: Schnittstelle zwischen Benutzer

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum 1/2 Vorlesung 8. und interaktiv Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 07. Dezember 2015 2/2 Willkommen zur achten Vorlesung Was gab es beim letzten Mal? interaktiv for-schleifen

Mehr

Übersicht. Einführung in Perl Datenstrukturen I. Datentypen Übersicht (1) Kernbegriffe. Kernbegriffe. Einführung der Datentypen.

Übersicht. Einführung in Perl Datenstrukturen I. Datentypen Übersicht (1) Kernbegriffe. Kernbegriffe. Einführung der Datentypen. Übersicht Kernbegriffe Einführung der Datentypen Skalare im Detail Vergleichsoperatoren Standardeingabe chomp-operator while-schleife Perl, 24.10.03 Datentypen I 1 Datentypen Übersicht (1) Datentyp Erklärung

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum Vorlesung 5. und Folien nach Carsten Gnörlich Technische Fakultät Universität Bielefeld 15. November 2017 1 / 34 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen

Mehr

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 Teil 5: Unix Shells Dr. Erwin Hoffmann E-Mail: unix@fehcom.de https://www.fehcom.net/unix/ Shell? Standardard-mässig führt Unix nach

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Technische Praxis der Computersysteme

Technische Praxis der Computersysteme Tests Command Substitutuon: Man Befehle an beliebiger Stelle in andere Befehle einbauen um deren Ausgaben als Parameter zu nutzen. Dies ist mit den und $(... ) Umgebungen möglich. z.b.: ls $( echo / usr

Mehr

Überblick zum Thema CDO und Shell-Skripting

Überblick zum Thema CDO und Shell-Skripting Überblick zum Thema CDO und Shell-Skripting Studenten-Anleitung zum Umgang mit dem FreVast-System Phase 3 Auswertung Kurseinheit 24 FreVast Team https://vast.klimod.de/portal/ 5. April 2017 Überblick zum

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

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

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter CmdLets PipeLine / Filter Variablen / Operatoren Schleifen / Prüfmethoden Funktionen / Skripte Allgegenwärtige Parameter Hilfe ComObjekte PowerShell: Oberfläche PowerShell --- Voraussetzungen.NET Framework

Mehr

Eine kleine Befehlssammlung für Java Teil1

Eine kleine Befehlssammlung für Java Teil1 Eine kleine Befehlssammlung für Java Teil1 Definition einer Klasse public class Klasse{ Hier wird der Name der Klasse definiert. In diesem Fall ist das Klasse. Der Name muss mit dem Namen der.class Datei

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Benjamin Eberle 11. Mai 2016 Übersicht - Dateiinhalte anzeigen cat : Dateiinhalte auf die Shell ausgeben less : Dateiinhalte seitenweise anzeigen head

Mehr

Der Standard-Editor vi

Der Standard-Editor vi Der Standard-Editor vi unabhängig von Terminaltyp, Shell und Graphik Aufruf durch vi oder vi bearbeitet Kopie der Datei im Hauptspeicher zwei (drei) Betriebsmodi Kommandomodus i,a,o,i,a,o ESC

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil 4.2 Selbstdefinierte Matlab-Funktionen 1. Teil 37 Ein m-file mit Namen Funktionsname.m und einer ersten Zeile der folgen Form: function Funktionsname(input1,input2,...,inputn) oder function output1=funktionsname(input1,input2,...,inputn)

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr

Aufgabensammlung IT 4131. Shellprogrammierung Teil I

Aufgabensammlung IT 4131. Shellprogrammierung Teil I Aufgabensammlung IT 4131 Shellprogrammierung Teil I Fragen: I.1 Was ist eine Shell? Skript 1.1.2, S. 4 a) aus der Sicht des Betriebssystems b) aus der Sicht des Anwenders I.2 Was ist ein Shell-Skript?

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Übung 1: Unix Werkzeuge Robert Sombrutzki sombrutz@informatik.hu-berlin.de Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer

Mehr

Linux - a bit advanced

Linux - a bit advanced Linux - a bit advanced Überblick Rechteverwaltung Dateisystem Shell-Programmierung Remote login Paketsystem Alternativen-System Rechte Drei Benutzerklassen Owner/User Group Others Drei Rechte Ausführen

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Ein- und Ausgabeumlenkung

Ein- und Ausgabeumlenkung Ein- und Ausgabeumlenkung Viele Prozesse lesen und/oder schreiben Daten (z.b. who, date, cat, rm -i,...) Zu jedem Kommando gibt es voreingestellte Dateien, von denen Daten gelesen und/oder in die Daten

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Luis Kornblueh. May 22, 2014

Luis Kornblueh. May 22, 2014 Einführung in die Bash Luis Kornblueh KlosterCluster Team 2013/2014, Klosterschule May 22, 2014 1 / 17 Inhaltsverzeichnis Einführung in das Scripting Einfache Beispiele Kommandos ersetzen Bedingungen Tests

Mehr

Bash Skripte erlauben die Automatisierung von wiederkehrenden Befehlsfolgen.

Bash Skripte erlauben die Automatisierung von wiederkehrenden Befehlsfolgen. Programmierung der Bash Eine wesentliche Aufgabe des Bash Interptreters stellt die Unterstützung der Automatisierung von wiederkehrenden Befehlsfolgen dar. Als Programmiersprache ist die Bash somit ein

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

U1 3. Übung U1 3. Übung. Die Kommandos auf den folgenden Folien dienen der Veranschaulichung. Sind nicht direkt auf die Übungsaufgabe übertragbar

U1 3. Übung U1 3. Übung. Die Kommandos auf den folgenden Folien dienen der Veranschaulichung. Sind nicht direkt auf die Übungsaufgabe übertragbar U1 3. Übung U1 3. Übung Besprechung Aufgabe 0 Make und Makefiles Aufgabe 2 U1-1 Hinweise Die Kommandos auf den folgenden Folien dienen der Veranschaulichung Sind nicht direkt auf die Übungsaufgabe übertragbar

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM für Java-Programmierer Der Präprozessor Prof. Dr. Wolfgang Schramm FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Präprozessor Ist dem Compiler vorgeschaltet ( Prä -). Spezielle Anweisungen

Mehr

Unix/Linux Grundlagen für Einsteiger

Unix/Linux Grundlagen für Einsteiger Unix/Linux Grundlagen für Einsteiger Seminarunterlage Version: 6.08 Version 6.08 vom 25. Juli 2016 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Eine Mini-Shell als Literate Program

Eine Mini-Shell als Literate Program Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

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

Okt 10, 16 17:29 UNIX/Linux Lösung Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2016 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Grundlagen. Wie sind PHP-Dateien aufgebaut? Grundlagen PHP und MySQL PHP läuft serverseitig!! Wie sind PHP-Dateien aufgebaut? PHP-Dateien fangen mit an und hören mit auf. Sie müssen die Dateiendung *.php haben echo "So könnte eine Datei aussehen\n";

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

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

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 So nützlich wie Variablen in der Mathematik sind, um z.b. Gleichungen eine allgemeine Gültigkeit zu verleihen, so nützlich sind sie auch bei der Programmierung. In dieser Ausgabe möchte ich Ihnen die Verwendung

Mehr

+ C - Formatierte Eingabe mit scanf()

+ C - Formatierte Eingabe mit scanf() + C - Formatierte Eingabe mit scanf() BKTM - Programmieren leicht gemacht. Formatierte Eingabe mit scanf() Um eine Eingabe von der Tastatur bereitzustellen, kann man die scanf()-funktion benutzen. Der

Mehr

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2017 1 und der Typ bool Typ bool Typ bool Vergleichsoperationen

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2017 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;

Mehr

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

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Shellprogrammierung Die Linux Shell Besondere Zeichen Pipes Variablen Bedingungen und Tests Einführung in Linux Antonia Blanke Einstieg in Warum? Wann ist ein Shellskript ungeeignet? Die Shell ist ein Kommandointerpreter Neben ihrer Aufgabe als Schicht zwischen Kernel und Nutzer kann sie auch

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd ls Listet Dateien und Verzeichnisse auf ls (Listet die Dateien und Verzeichnisse in Spalten auf) ls -l (Listet die Datei und Verzeichnisse als ausführliche Liste auf) ls *.sh (Listet nur Datei auf, die

Mehr

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

UNIX Die wichtigsten Befehle

UNIX Die wichtigsten Befehle UNIX Die wichtigsten Befehle Syntax alias shortname command at zeit [Tag] [Datei] cron cat [-nsuv] [datei] passwd [ben_name] finger user fg, bg job set [-ekntuvx] [name] sort [-bcdfimnurt] [+pos1 pos2]

Mehr

05 For-Schleifen. For-Schleifen 1/7 Was ist eine Schleife?

05 For-Schleifen. For-Schleifen 1/7 Was ist eine Schleife? 05 For-Schleifen For-Schleifen 1/7 Was ist eine Schleife? Programmieren kann harte Arbeit bedeuten. Und manchmal ist es noch zäher, das gleiche immer und immer wieder erledigen zu müssen. Nehmen wir an,

Mehr