Aufgabensammlung IT 4131. Shellprogrammierung Teil I



Ähnliche Dokumente
Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

affilinet_ Flash-Spezifikationen

Professionelle Seminare im Bereich MS-Office

1 Vom Problem zum Programm

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Datenexport aus JS - Software

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Mediator 9 - Lernprogramm

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Zwischenablage (Bilder, Texte,...)

AutoTexte und AutoKorrektur unter Outlook verwenden

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Anleitung über den Umgang mit Schildern

Jederzeit Ordnung halten

Kennen, können, beherrschen lernen was gebraucht wird

Datenbanken Kapitel 2

Dokumentation IBIS Monitor

Hardware - Software - Net zwerke

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Tipps und Tricks zu den Updates

BENUTZER INFO ONLINE SHOP

Primzahlen und RSA-Verschlüsselung

Objektorientiertes Programmieren mit Suse Linux

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Zur drittletzten Zeile scrollen

Serienbrief mit Works 7.0

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Dialyse Benchmark - Online so funktioniert s

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Graphic Coding. Klausur. 9. Februar Kurs A

Rundung und Casting von Zahlen

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Finder > 'Programme' > 'Dienstprogramme' > 'Terminal'

4.1 Wie bediene ich das Webportal?

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

QTrade GmbH Landshuter Allee München Seite 1

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Übungen Programmieren 1 Felix Rohrer. Übungen

Nutzerhandbuch Zentrale Klassenverwaltung

Erwin Grüner

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

Anwendungshinweise zur Anwendung der Soziometrie

WinVetpro im Betriebsmodus Laptop

Örtliche Angebots- und Teilhabeplanung im Landkreis Weilheim-Schongau

Grundlagen der Theoretischen Informatik, SoSe 2008

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Das Modul ARTIKEL-BARCODE ermöglicht den Druck von Barcode-Etiketten der EAN-Codes 8 und 13.

Datenbanken Microsoft Access 2010

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Anleitung zur Verwendung der VVW-Word-Vorlagen

Übung - Konfigurieren einer Windows 7-Firewall

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Stand: Adressnummern ändern Modulbeschreibung

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Anleitung für die Formularbearbeitung

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Produktschulung WinDachJournal

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

SOFiSTiK AG Installationsanleitung

Dokumentenverwaltung

PDF-Dateien erstellen mit edocprinter PDF Pro

Dieses UPGRADE konvertiert Ihr HOBA-Finanzmanagement 6.2 in die neue Version 6.3. Ein UPGRADE einer DEMO-Version ist nicht möglich.

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Ihre Lizenz ändern. Stand 01/2015

TR75E002-A FA / Bedienungsanleitung Industrie-Handsender-Verwaltung IHV DEUTSCH

Einführung in die Programmierung

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Etikettendruck mit Works 7.0

Festigkeit von FDM-3D-Druckteilen

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Windows 7 Ordner und Dateien in die Taskleiste einfügen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Portfolio: "Kabale und Liebe" von Friedrich von Schiller

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

MS Access 2010 Kompakt

Installation OMNIKEY 3121 USB

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Was meinen die Leute eigentlich mit: Grexit?

Die besten Excel-Tastenkombinationen im Überblick

teamsync Kurzanleitung

Die Tabellenvorlage im Katalog für Tabellen speichern... 2 Weiteres zu Schnellbausteinkatalogen EDV + Didaktik - Dr. Viola Vockrodt-Scholz

Übung - Arbeiten mit CLI-Befehlen in Windows

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

Bauteilattribute als Sachdaten anzeigen

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Kulturelle Evolution 12

Transkript:

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? Skript 1.1.3, S. 5 Geben Sie 3 wichtige Merkmale an. I.3 Welche Vorteile gegenüber anderen Skriptsprachen ergeben sich für die Shell? I.4 Übernehmen Sie die richtige Antwort aus den zwei Vorgaben: 1. Ein Shell-Skript muss zum Ausführen nicht erst übersetzt werden. X 2. Ein Shell-Skript kann nur gestartet werden, wenn es übersetzt vorliegt. I.5 Ein Shell-Skript liegt in Ihrem Home-Directory (~) und kann nicht gestartet werden. Geben Sie 3 mögliche Ursachen dafür an und schlagen Sie jeweils vor, wie Sie das Problem beheben können. Skript 2.1.1, S. 10 I.6 Wie werden Kommentare innerhalb eines Shell-Skriptes eingebunden? Skizzieren Sie ein Beispiel dazu. Skript 2.1.1, S. 11 I.7 Kann ein Kommentar in einem Shell-Skript wie bei vielen anderen Sprachen innerhalb von Code-Zeilen stehen? I.8 Welche Angaben sollte man immer in den Header (erste x Zeilen) eines Shell-Skriptes schreiben? Machen Sie mindestens 4 Angaben und skizzieren Sie den Header. I.9 Was versteht man unter der magischen ersten Zeile eines Shell-Skripts? Begründen Sie ihre Bedeutung. Skript 2.1.2, S. 12 I.10 Wie wird die magische erste Zeile eines Shell-Skriptes auch bezeichnet. Geben Sie beide Bezeichnungen an. Hier eine kleine Esels -Brücke. Die Turmuhr in London schlägt den Big-Bang. Skript 2.1.2, S. 12 I.11 Was sind Metazeichen? Nennen Sie 4 wichtige Metazeichen. Skript 2.2, S. 14/15 I.12 Was kennzeichnet den Begriff Befehl bei Unix? I.13 Was kennzeichnet den Begriff externes Programm bei Unix? I.14 Was kennzeichnet den Begriff Kommando bei Unix? I.15 Die Begriffe Befehl und Kommando werden fälschlicherweise oft gleichgesetzt. Arbeiten Sie den wesentlichen Unterschied heraus. I.16 Was kennzeichnet den Begriff Shellbefehl bei Unix? I.17 Was kennzeichnet den Begriff Unixtool bei Unix? Seite 1

I.18 Beschreiben Sie die Interpretation einer Befehlszeile oder Anweisung durch die Shell am Beispiel von: ~> cd<leertaste>/etc Skript 2.3.1, S. 15 I.19 Warum sind die Befehlszeilen ~> cd<leertaste>/etc und ~> cd<tabulator>/etc gleichbedeutend? Skript 2.3.1, S. 16 I.20 Was ist unter dem Rückgabewert eines Programms zu verstehen? Skript 2.3.2, S. 17 I.21 Wie kann man sich den Rückgabewert eines Programms anzeigen lassen? I.22 Wie lässt sich der Rückgabewert innerhalb eines Shell-Skripts beeinflussen? I.23 Bei Unix (Linux) lassen sich mehrere Anweisungen in eine Zeile schreiben. Wie lautet die Syntax dazu? Geben Sie ein Beispiel. Skript 2.3.3, S. 18 I.24 Mit Hilfe von logischen Verknüpfungen lassen sich auftretende Fehler abfangen. Das Beispiel ~> cd /tmp; rm -fr * hätte verheerende Folgen, wenn die erste Anweisung cd /tmp einen Exitstatus 1, also FALSE, liefern würde, weil z.b. das Verzeichnis /tmp nicht vorhanden ist. Schreiben Sie das Beispiel unter Verwendung einer logischen Verknüpfung so um, dass ein solcher Fehler ausgeschlossen wird. Skript 2.3.3, S. 19 I.25 Erklären Sie den Unterschied bei der Zusammenfassung von Anweisungen zwischen den beiden Methoden Klammerung in runden und geschweiften Klammern: ( <anweisung1>; <anweisung2>; [ ] ) und { <anweisung1>; <anweisung2>; [ ]; }. Skript 2.3.4, S. 20 I.26 Legen Sie eine einfach Funktion innerhalb der Shell an. Die Funktion c soll den aktuellen Bildschirm (Terminal-Fenster) löschen und den Cursor auf die Home- Position setzen. Skript 2.4, S. 21 ff. Shellprogrammierung Teil II II.1 II.2 II.3 II.4 II.5 Erläutern Sie das prinzipielle Konzept der Umlenkungen bei Unix. Nennen Sie die drei Geräte, ihre Dateideskriptoren, ihre Funktion und die zugehörigen realen Standardgeräte. Skript 3.1, S. 24 und geben Sie ein Beispiel an: kommando > datei Skript 3.2, S. 26 und geben Sie ein Beispiel an: kommando >> datei Skript 3.2, S. 27 Wie kann ein Überschreiben einer bereits vorhandenen Datei verhindert werden? Skript 3.2, S. 26 unten Mitunter besteht der Wunsch, eine Standardausgabe gleich in mehrere Dateien umzuleiten. Die folgende Anweisung leistet das leider nicht: ls sort > index1 > index2 > index3 Machen Sie eine Vorschlag, wie das Problem mit einem in Unix vorhandenen Tool recht einfach gelöst werden kann. Skript 3.4.1, S. 33 Seite 2

II.6 II.7 II.8 II.9 II.10 II.11 II.12 II.13 und geben Sie ein Beispiel an: kommando &> datei Skript 3.2, S. 28 und geben Sie ein Beispiel an: kommando < datei Skript 3.2, S. 29 und geben Sie ein Beispiel an: kommando [dateideskriptor]>&[dateideskriptor] Skript 3.2, S. 28 unten Erläutern Sie das Konzept der Pipelines bei Unix und geben Sie ein Beispiel mit mindestens zwei Pipes an. Skript 3.3, S. 32 Was versteht man unter einer Kommandosubstitution? Unterstützen Sie Ihre Erläuterung durch ein Beispiel. Skript 3.5, S. 35 ff. Wie muss vorgegangen werden, wenn innerhalb einer Kommandosubstitution eine weitere Kommandosubstitution erfolgt? Ändern Sie dazu das hier gegebene Beispiel so, dass es fehlerfrei ist: echo Das Verzeichnis enthält `ls `pwd` wc -l` Dateien. Skript 3.5.2, S. 39 Was ist Dateinamenexpandierung? Erklären Sie kurz, worum es dabei geht und zeigen Sie je eines Beispiels zu den Dateinamenexpandierungen *,? und [ ]. Skript 4.1, S. 43 ff. Was bezeichnet die Tilde-Expandierung? Erklären Sie die vier Varianten (Ausdrücke). Skript 4.6, S. 53/54 Shellprogrammierung Teil III III.1 III.2 III.3 III.4 Zeigen Sie die einfache Art einer Variablendeklaration mit gleichzeitiger Wertzuweisung. Skript 5.2, S. 57 ff. Eine Variable soll die Zeichenkette Die Politik ist enthalten. Was ist an der folgenden Deklaration falsch und wie lautet sie richtig: variable=die Politik ist? Variablen werden an jeder Stelle in einer Zeile ersetzt. So lassen sich auch Programmaufrufe mit Variablen realisieren. Die folgende Anweisung soll durch die Variable ux ersetzt werden: chmod u+x skript1. Skript 5.2, S. 59 Geben Sie die Variablendeklaration für die Variable ux und die neue Anweisung an. Folgendes Beispiel funktioniert nicht wie gewollt. Erklären Sie, woran das liegt und geben Sie die richtige Schreibweise an. x=topf echo Blumen$xerde Ausgabe Blumen (erwartete Ausgabe: Blumentopferde) III.5 Wie lässt sich eine deklarierte Variable entfernen? Skript 5.2, S. 58 Seite 3

III.6 Mit Hilfe von Variablen können auch Tastaturabfragen innerhalb von Shell-Skripten behandelt werden. Dafür steht read zur Verfügung. In der Standardvariable IFS sind die erlaubten Trennungszeichen definiert: [Leertaste] [Tabulator] [Neue Zeile]. Geben Sie die möglichen drei Varianten der Eingabe von vier Variablen mit nur einem read-aufruf an. Skript 5.3, S. 60 ff. III.7 Was sind Positionsvariablen? Skript 5.4, S. 64 ff. III.8 III.8 III.9 Mit Positionsvariablen kann man bis zu neun Parameter eines Programmaufrufs auf sehr einfache Weise übernehmen. Welche beiden Möglichkeiten gibt es, wenn mehr als neun Parameter übernommen werden sollen? Nennen Sie beide Möglichkeiten und zeigen Sie die Funktion anhand je eines kleinen Beispiels. Skript 5.4.2, S. 66 Skript 5.4.3, S. 67 ff Zeigen Sie die automatischen Positionsvariablen und erklären Sie Ihre Funktion. Skript 5.4.4, S. 69 Wie können Positionsvariablen gesetzt werden? 1=neuer_wert funktioniert nur in der Z Shell. Skript 5.4.5, S. 72 III.10 Was lässt sich über den Gültigkeitsbereich einer Variablen sagen? Skript 5.5, S. 74 ff. III.11 Wie können Variablen in die Betriebssystemumgebung gespeichert werden, um auch für einen weiteren Aufruf einer Shell oder Sub-Shell gültig zu sein? Zeigen Sie das anhand eines Beispiels. III.12 Funktionen werden dazu verwendet, häufig in Anspruch genommen, eventuell sogar rekursiv aufgerufen zu werden. Variablen innerhalb von Funktionen müssen deshalb eine auf die Funktion beschränkte Gültigkeit haben. Skript 5.5.4, S. 79 Zeigen Sie anhand eines Beispiels, wie das realisiert werden kann. Wie werden diese Variablen bezüglich ihres Gültigkeitsbereiches genannt? III.13 Shell-Variablen werden häufig typenfrei deklariert. Gibt es die Möglichkeit, einer Variablen einen Typ (z.b. Integer) zuzuweisen? Bitte begründen Sie Ihre Antwort. Skript 5.6.1, S. 81 ff III.14 Erläutern Sie kurz und prägnant, was das Quoting bedeutet. Illustrieren Sie Ihre Darstellung mit passenden Beispielen. Skript 6, S. 90 ff III.15 Für die Ausgabe auf Papier oder auf einem Terminal werden eine Reihe von Steuerzeichen verwendet, wie z.b. Newline und Formfeed, die ganz einfach in den auszugebenden Text eingefügt werden. Wir nennen das auch ANSI-C-Quoting. Schreiben Sie eine echo-zeile, die folgende Ausgabe ermöglicht: Ausgabe Das ist die erste Zeile:<Tabulator> 1. Zeile<Enter><Neue Zeile> Das ist die zweite Zeile: <Tabulator>2. Zeile<Enter><Neue Zeile> Textende! Skript 6.4, S. 94 III.16 Nennen Sie zwei klassische Programme bzw. Unix-Tools (/bin/sh, /bin/ksh), mit denen arithmetische und logische Aufgaben gelöst werden können. Zeigen Sie je eine Beispiel-Anweisung für eine arithmetische und logische Aufgabe. Skript 7, S. 96 ff. III.17 Bei Ablaufsteuerungen sind Bedingungen sehr wichtig. Erläutern Sie die Philosophie, die Unix in dieser Frage eigen ist. Nennen Sie alle Ihnen bekannten Unix-Tools und Shell-Befehle, die für die Abfrage Seite 4

der Bedingung verwendet werden können (5). Skript 8.1, S. 116 ff III.18 Schreiben Sie unter Anwendung des Konstrukts if-then-else ein effizienten Shell- Skript, das eine Datei kopiert und je nach Ergebnis die Erfolgsmeldung Datei erfolgreich kopiert oder die Mißerfolgsmeldung Datei konnte nicht kopiert werden ausgibt. Basis ist die Anweisung: cp datei/wurzel/verz/unterverzeichnis. Skript 8.2.1, S. 129 ff. III.19 Wie wird in Unix eine mehrfache Verzweigung größer zwei Ziele, also case realisiert? Skizzieren Sie eine Verzweigung mit mindestens 3 Zielen. Skript 8.2.2, S. 134 ff. III.20 Nennen Sie die drei Schleifen-Konstrukte bei Unix. Erläutern Sie while [ until, for ] anhand eines kleinen Beispiels. Skript 8.3, S. 136 ff. Seite 5