Arithmetik in der tcsh

Ähnliche Dokumente
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Übersicht Shell-Scripten

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Programmierung

Einführung in die Programmierung Wintersemester 2011/12

Technische Praxis der Computersysteme I 3. Vorlesung

Vorlesung Unix-Praktikum

Bash-Scripting Linux-Kurs der Unix-AG

Einstieg in die Informatik mit Java

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Shell-Scripting Linux-Kurs der Unix-AG

Linux Prinzipien und Programmierung

Computer & GNU/Linux Einführung Teil 4

Einstieg in die Informatik mit Java

Java: Eine kurze Einführung an Beispielen

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

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

Operatoren (1) Operatoren (2)

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

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

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

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

2.5 Programmstrukturen Entscheidung / Alternative

JAVA-Datentypen und deren Wertebereich

Erwin Grüner

3. Anweisungen und Kontrollstrukturen

Einige Eigenschaften der Bourne-Shell und der bash

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Ein- und Ausgabeumlenkung

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

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

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Programmierung für Unix und Linux

FACHHOCHSCHULE MANNHEIM

Informatik I: Einführung in die Programmierung

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Arzu Sanli Ibrahim Canakci

5. Elementare Befehle und Struktogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Shell-Programmierung fur Unix und Linux

C++ - Einführung in die Programmiersprache Schleifen

Programmierkurs Java

Technische Praxis der Computersysteme 1

Softwareentwicklung Sequenz, Verzweigungen, Schleifen

Objektorientierte Programmierung

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

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

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Linux-Einführung Übung

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Programmieren für Wirtschaftswissenschaftler SS 2015

Desktop ade: Me and my shell

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

Einführung in die Programmierung

Einführung Unix Shell

Syntax der Sprache PASCAL

Einstieg in die Informatik mit Java

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

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

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

Programmierkurs Python I

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Lua Grundlagen Einführung in die Lua Programmiersprache

Anweisungen in Fortran - Wertzuweisung

Übung: Entwickeln eines Shell-Skripts

Objektorientierte Programmierung OOP Programmieren mit Java

Grundlagen der Programmierung

JavaScript und PHP-Merkhilfe

RO-Tutorien 3 / 6 / 12

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

Grundbegriffe der Informatik

Vorlesung Programmieren

Programmieren in Java

Webbasierte Programmierung

Herzlich Willkommen. Über mich Termine Literatur Über PHP

Die Programmiersprache C99: Zusammenfassung

Übung zur Vorlesung Multimedia im Netz

Vorbereitungen zum 3. Praktikum (PL/SQL):

TI-Basic. Programme und Funktionen

PROGRAMMIERUNG IN JAVA

Grundlagen von C# - 2

Unterlagen. CPP-Uebungen-08/

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

Primitive Datentypen

Programmiertechnik Kontrollstrukturen

Prinzipien der Softwareentwicklung S. Strahringer

Präzedenz von Operatoren

Übersicht Programmablaufsteuerung

Kapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung

Programmierkurs Python I

Transkript:

Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3 + 4) * 5 var = 35 @ var++ var = 36 @ modulo = $var % 5 modulo = 1 @ modulo-- modulo = 0 Es gelten die üblichen Vorrangregeln. Operanden müssen von Operatoren durch whitespace voneinander getrennt sein. 68

Wiederholung von s 1. repeat-anweisung: repeat count wird genau count mal ausgeführt darf nicht Alias, Pipeline oder liste sein! 2. for-schleife: foreach Variable Wortliste. end Wiederholung der s so oft, wie die Wortliste lang ist Bei der k-ten Wiederholung nimmt die Variable den Wert des k-ten Wortes der Wortliste an. 69

3. while-schleife: while (Ausdruck). end Wiederholung der s solange, bis der Ausdruck den Wert 0 annimmt arithmetischer Ausdruck boolescher Ausdruck mit Werten 1 für true oder 0 für false durch Vergleich arithmetischer Ausdrücke mit ==,!=, <=, >=, <, > durch Vergleich zweier Zeichenketten mit ==,!= ein in {... } ergibt genau dann 1 (true), falls es fehlerfrei ausgeführt wurde (Exit-Status 0) 70

Datei-Tests: -e datei 1 gdw. datei existiert -f datei 1 gdw. datei ist gewöhnliche Datei -d datei 1 gdw. datei ist Verzeichnis -z datei 1 gdw. datei hat Größe null -s datei 1 gdw. datei hat nicht Größe null -o datei 1 gdw. User ist Eigentümer von datei -r datei 1 gdw. User hat Leserecht -w datei 1 gdw. User hat Schreibrecht -x datei 1 gdw. User hat Ausführungsrecht logische Verknüpfungen: && und-verknüpfung oder-verknüpfung! Negation 71

Bedingte Ausführung von s 1. if-anweisung: if (Ausdruck) wird genau dann ausgeführt, wenn der Ausdruck den Wert 1 (true) annimmt darf nicht Alias, Pipeline oder liste sein! wichtige s: break führt zum vorzeitigen (sofortigen) Verlassen der (direkt umgebenden) Schleife Geschachtelte Schleifen können verlassen werden, indem entsprechend viele break-anweisungen aufgerufen werden. continue führt zum Abbruch des aktuellen und Beginn des nächsten Schleifendurchlaufs 72

2. if-then-else-anweisung: if (Ausdruck) then. else. endif Die s nach then werden ausgeführt, falls der Ausdruck den Wert 1 (true) annimmt, sonst die s nach else. else und endif müssen die ersten Wörter einer Zeile sein. Der else-teil ist optional. 73

Shell-Programme (Shell-Skripte) Textdatei, deren Zeilen Shell-s sind Ausführen eines Skripts bedeutet zeilenweises Ausführen der enthaltenen s von oben nach unten goto label Fortsetzung mit einer Zeile, deren erstes Wort label: ist leere Zeilen und Zeileninhalte nach # werden ignoriert 74

Methoden zum Starten eines s/skripts Shellausführung csh Skriptdatei Das System startet eine Subshell (csh), welche die Skriptdatei liest und ein nach dem anderen ausführt. Start mit Dateiname Skriptdatei Das System startet eine Subshell (Bourne-Shell), welche die Skriptdatei liest und die enthaltenen s ausführt. Vorraussetzung ist, dass die Skriptdatei lesbar und ausführbar ist! Soll das Skript in einer tcsh ausgeführt werden, so muss die erste Zeile im Skript lauten: #! /bin/tcsh -f 75

Start mit source source Skriptdatei Die Ausführung erfolgt in der aufrufenden Shell. Damit sind auch alle lokalen Variablen für das Skript verfügbar. Nach Beendigung der Ausführung wird in das aufrufende Programm zurückgekehrt. Start mit exec exec Skriptdatei wie source, aber nach Beendigung der Ausführung wird das aufrufende Programm beendet. Nach exec können auch einzelne UNIX-s anstelle der Skriptdatei stehen. 76

Spezielle Variablen $argv[n] $n n. Argument aus der zeile $#argv $# Anzahl der Argumente aus der zeile $argv[$#argv] letztes Argument aus der zeile $argv[*] $* alle Argumente aus der zeile $0 Name des Programms, das diesen Wert abfragt $$ Prozess-Nummer (PID) der ausführenden Shell $?variable liefert 1 falls variable definiert ist, 0 sonst $< eine Zeile der Standard-Eingabe stdin Wie üblich, können die Variablennamen in geschweifte Klammern eingeschlossen werden, etwa um sie von nachfolgenden Zeichen zu trennen. 77