Bash-Skripting: Anführungszeichen und Variablen
40 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Was ist der Unterschied zwischen "x" und 'x' in der Bash?

"x" wird interpretiert, während 'x' nicht interpretiert wird.

Welche Funktion hat das Zeichen $ in der Bash?

$ wird verwendet, um Variablen und Sonderzeichen zu referenzieren und zu interpretieren.

Was bewirkt die Verwendung von $@ in einem Bash-Skript?

$@ gibt alle übergebenen Parameter als separate Argumente in einem Skript zurück.

Erkläre die Bedeutung von $? in der Bash.

<p>$? gibt den Rückgabewert des zuletzt beendeten Programms zurück.</p> Signup and view all the answers

Was bewirkt die Verwendung von x in der Bash?

<p><code>x</code> erzeugt eine Subshel, was oft zur Ausführung von Befehlen oder zur Bearbeitung von Variablen verwendet wird.</p> Signup and view all the answers

Welche Rolle spielt der Parameter -e im Bash-Befehl test?

<p>-e prüft, ob eine angegebene Datei existiert.</p> Signup and view all the answers

Was stellt der Parameter $# dar?

<p>$# gibt die Anzahl der an das Skript übergebenen Parameter an.</p> Signup and view all the answers

Wie funktioniert der Befehl while in Verbindung mit test in einem Bash-Skript?

<p>Der Befehl while prüft eine Bedingung und führt Befehle so lange aus, wie die Bedingung wahr ist.</p> Signup and view all the answers

Was bedeutet das KISS-Prinzip im Kontext von UNIX?

<p>Das KISS-Prinzip steht für 'Keep It Simple, Stupid' und bedeutet, dass Programme in ihrer Funktionalität einfach gehalten werden sollten, sodass sie eine Aufgabe gut erledigen.</p> Signup and view all the answers

Wie werden die Standardausgaben von Programmen in UNIX genutzt?

<p>Die Standardausgabe eines Programms kann als Eingabe für das nächste Programm verwendet werden, indem man das Pipe-Symbol '|' nutzt.</p> Signup and view all the answers

Welchen Rückgabewert hat ein fehlerfrei beendetes Programm in Bash?

<p>Ein fehlerfrei beendetes Programm liefert immer den Rückgabewert 0.</p> Signup and view all the answers

Wie wird in Bash überprüft, ob ein Programm fehlerfrei beendet wurde?

<p>Man kann den Rückgabewert mittels der Operatoren '&amp;&amp;' für fehlerfreie und '||' für fehlerbehaftete Beendigung abfragen.</p> Signup and view all the answers

Was macht der Befehl 'find' in UNIX?

<p>Der Befehl 'find' wird verwendet, um Dateien, Verzeichnisse und Gerätedateien zu suchen, unter bestimmten Bedingungen wie Name oder Tiefe.</p> Signup and view all the answers

Wie werden Sonderzeichen und Leerzeichen in Dateinamen beim 'find'-Befehl behandelt?

<p>Sonderzeichen und Leerzeichen müssen mit dem Escape-Zeichen '' maskiert werden, um korrekt verwendet zu werden.</p> Signup and view all the answers

Wie kann man mit 'find' nach C-Dateien in Verzeichnissen suchen?

<p>Man kann 'find' mit dem Parameter '-name \*.c' verwenden, um alle C-Dateien zu finden.</p> Signup and view all the answers

Was bewirkt der Befehl 'xargs -0' in Verbindung mit 'find'?

<p>Der Befehl 'xargs -0' nimmt Null-terminierte Eingaben und wird häufig verwendet, um resultierende Dateinamen von 'find' weiterzuverarbeiten.</p> Signup and view all the answers

Was ist die grundlegende Syntax für den Befehl 'find' in Bash?

<p>$ find DIR [Parameter]*</p> Signup and view all the answers

Welche Funktion hat der Parameter '-type' im 'find' Befehl?

<p>Er bestimmt den Typ der zu suchenden Datei, z.B. Datei (f) oder Verzeichnis (d).</p> Signup and view all the answers

Was bewirkt der Parameter '-ctime -1' im 'find' Befehl?

<p>Er sucht nach Dateien, die in den letzten 24 Stunden verändert wurden.</p> Signup and view all the answers

Wofür steht das Sonderzeichen '*' in einer Bash-Zeichenkette?

<p>Es steht als Wildcard für eine beliebige Zeichenkette.</p> Signup and view all the answers

Wie wird der '<' Operator in Bash verwendet?

<p>Er wird verwendet, um Eingaben umzuleiten.</p> Signup and view all the answers

Was ist der Unterschied zwischen '|' und ';' in Bash?

<p>'|' leitet die Ausgabe eines Programms als Eingabe für ein anderes weiter, während ';' Programme trennt und nacheinander ausführt.</p> Signup and view all the answers

Was bewirken die Parameter '-nouser' und '-nogroup' im 'find' Befehl?

<p>-nouser sucht nach Dateien, die keinem gültigen Nutzer gehören, und -nogroup nach solchen, die keiner gültigen Gruppe zugeordnet sind.</p> Signup and view all the answers

Wie kann man in Bash eine Datei mit einem bestimmten Namen, der ein Sonderzeichen enthält, ansprechen?

<p>Man muss das Sonderzeichen mit einem Backslash '' maskieren.</p> Signup and view all the answers

Wie überprüft man, ob eine Datei mit dem Namen 'file.txt' lesbar ist?

<p>Man kann den Befehl <code>test -r file.txt</code> verwenden.</p> Signup and view all the answers

Was bewirkt der Parameter -c beim tar-Befehl?

<p>Der Parameter -c erstellt eine neue tar Datei.</p> Signup and view all the answers

Wie testet man, ob zwei Strings in Bash gleich sind?

<p>Man verwendet den Befehl <code>test s1 = s2</code> oder die Schreibweise <code>[ s1 = s2 ]</code>.</p> Signup and view all the answers

Was sind die Ergebnisse der Verwendung von alias in Bash?

<p>Mit <code>alias</code> kann man Bash Befehle umprogrammieren und vereinfachen.</p> Signup and view all the answers

Wie kann man überprüfen, ob eine Datei leer ist?

<p>Man verwendet den Befehl <code>test -z &lt;datei&gt;</code> oder <code>test -s &lt;datei&gt;</code> für nicht leer.</p> Signup and view all the answers

Welcher Befehl wird verwendet, um eine tar-Datei zu entpacken?

<p>Man verwendet den Befehl <code>tar -x -f &lt;datei.tar&gt;</code>.</p> Signup and view all the answers

Was bewirkt der Parameter -v beim tar-Befehl?

<p>Der Parameter -v gibt ausführliche Konsolenausgaben über den aktuellen Prozess aus.</p> Signup and view all the answers

Wie kann man überprüfen, ob eine Zahl N kleiner oder gleich M ist?

<p>Man verwendet den Test <code>N -le M</code>.</p> Signup and view all the answers

Was wird beim Einloggen eines Benutzers in der Regel von der Bash ausgeführt?

<p>~/.bashrc</p> Signup and view all the answers

In welcher Datei können Änderungen für die z-Shell unter macOS vorgenommen werden?

<p>~/.zshrc</p> Signup and view all the answers

Was stellt die eindeutige User-ID (UID) eines Nutzers bereit?

<p>Identifikation im System</p> Signup and view all the answers

Was passiert, wenn ein Benutzer die SuperUser-Rechte erlangt?

<p>Er kann alle Systemoperationen durchführen.</p> Signup and view all the answers

Was bewirkt der Befehl '-c' beim Tar-Programm?

<p>Er erstellt eine neue tar-Datei.</p> Signup and view all the answers

Was ermöglicht der Befehl 'alias' in der Bash?

<p>Umbenennung von Befehlen.</p> Signup and view all the answers

Wie entpackt man eine tar-Datei mittels tar-Befehl?

<p>-x</p> Signup and view all the answers

Was macht der Befehl 'find . -ctime -1 -print0' in dem bereitgestellten Beispiel?

<p>Listet alle veränderten Dateien der letzten 24 Stunden auf.</p> Signup and view all the answers

Study Notes

Anführungszeichen

  • "x" erzeugt eine Subshell, zum Beispiel zum Erzeugen von Eingabe. Die Alternative $(x) ist besser lesbar.
  • 'x' Ein String (einschließlich Leerzeichen), wird nicht interpretiert.
  • "x" Ein String (einschließlich Leerzeichen), wird von der Shell interpretiert, das heißt darin enthaltene Variablen und andere Sonderzeichen werden textuell ersetzt.

Das $ Steuerzeichen

  • $0 Der Name des ausgeführten Skripts, wenn keines ausgeführt wird: -bash
  • $1 Der erste Parameter, der dem Skript übergeben wurde, $2 ist der zweite Parameter etc.
  • $* Alle Parameter zusammengeführt, durch Leerzeichen $IFS getrennt.
  • $# Die Anzahl der übergebenen Parameter.
  • $@ Die einzelnen Parameter.
  • $? Der Rückgabewert des zuletzt beendeten Programms.
  • $$ Die Prozess-ID (PID) des aufrufenden Skripts/der Bash.
  • $! Die PID des letzten im Hintergrund laufenden Prozesses.

Arithmetische Ausdrücke

  • $((...)) wird ein arithmetischer Ausdruck evaluiert, z.B.: i=0; while test $i -lt 10; do echo i:$i; i=$(($i + 1)); done

Das test Programm

  • Mit test lassen sich Bedingungen in Bash prüfen.
  • -e file.txt prüft, ob die angegebene Datei existiert.
  • -f file.txt prüft, ob die angegebene Datei eine normale Datei ist.
  • -r file.txt prüft, ob die Datei lesbar ist, -w schreibbar, -x ausführbar.
  • -s file.txt prüft, ob die Datei größer als 0 Bytes ist.

Strings testen

  • -z prüft, ob ein String leer ist (0 Zeichen).
  • test s1 = s2 prüft, ob zwei Strings gleich sind.

Numerische Tests

  • N -le M prüft, ob N kleiner gleich M ist (lower or equal).
  • N -gt M prüft, ob N größer gleich M ist (greater than).

UNIX Philosophie

  • UNIX verfolgt das KISS Prinzip: Keep It Simple, Stupid.
  • Ein Programm soll eine Aufgabe gut erfüllen.

UNIX Programme kombinieren

  • Die Standardausgabe eines Programms (File-Descriptor 1) kann an die Eingabe des nächsten Programms weitergeleitet werden (mittels Pipe " | " Symbol).
  • $ sort file.txt | tail -n 5 | grep -E 'd$'

Rückgabewerte

  • Fehlerfrei beendete Programme geben immer den Rückgabewert 0 zurück, ansonsten ungleich Null.
  • && prüft, ob das vorherige Programm fehlerfrei beendet wurde.
  • || prüft, ob das vorherige Programm mit Fehler beendet wurde.

Das find Programm

  • find dient zum Finden von Dateien, Verzeichnissen und Gerätedateien.
  • $ find .-maxdepth 3 -name \*.c findet alle Dateien in diesem Verzeichnis (.) und bis zu drei Ebenen tiefer mit der Dateiendung .c.
  • $ find.–maxdepth 3 –name \*.c –print0 | xargs -0 grep –i 'Fix' findet alle Dateien in diesem Verzeichnis (.) und bis zu drei Ebenen tiefer mit der Dateiendung .c, welche "Fix" enthalten (Groß/Kleinschreibung wird ignoriert).

Parameter für find

  • -type suchte nach einem bestimmten Typ: u.a. f (Datei), d (Verzeichnis), l (Soft-Link).
  • -iname Name der Datei/Verzeichnis entspricht dem regulären Ausdruck.
  • -ctime -1 Verändert vor weniger als 24 Stunden.
  • -user Datei gehört Nutzer X (auch als numerischer Wert).
  • -nouser Datei gehört keinem gültigen Nutzer.
  • -nogroup Datei gehört keiner gültigen Gruppe.

Sonderzeichen

  • / Verzeichnistrenner.
  • ? WildCard für ein beliebiges Zeichen.
  • * Wildcard für eine beliebige Zeichenkette.
  • [ ] Ein Teil eines regulären Ausdrucks für eine Zeichenauswahl.
  • [A-Z] Ein Zeichenbereich.
  • < , > Sonderzeichen zum Umleiten von Ein- und Ausgabe.
  • | || ; && Verknüpfung von Programmen.
  • ( , ) Zusammenfassung von Programmen & Befehlen zu Gruppen.

Das tar Programm

  • Mit Hilfe des Tape Archive (kurz: tar) Programms lassen sich Backups aller Dateien erzeugen.
  • -c Create: Erstellt eine neue tar-Datei.
  • -f file.txt FileName: Name der Datei, die gepackt werden soll.
  • -v Verbose: Konsolenausgaben über den aktuellen Prozesschritt.
  • -x file.txt Extract: Entpackt eine tar-Datei in ein Verzeichnis.
  • $ find.-ctime -1 -print0 | tar -cvf tar-date '+%Y.%m.%d'.tar --null -T – Erstellt ein tar Backup aller Dateien, die vor weniger als 24 Stunden geändert wurden.

Alias

  • Mit Hilfe von alias lassen sich Bash-Befehle umprogrammieren.
  • $ alias l="ls -al"
  • $ alias mnt="mount | awk -F' ' '{ printf \"%s\t%s\n\",\$1,\$3; }' | column -t | egrep ^/dev/ | sort"

.bashrc / .zshrc

  • Beim Einloggen des Benutzers wird standardmäßig die Datei ~/.bashrc gelesen. Hier kann man Änderungen vornehmen, um eigene Kürzel, Befehle oder Programme zu laden.
  • macOS benutzt die z-Shell, Änderungen können in der ~/.zshrc vorgenommen werden.

BS_LAB Server

  • Für jeden Teilnehmer des Kurses existiert ein Account auf dem Betreibssysteme-Server bslab-it.
  • Login: ssh [email protected]
  • Jeder Nutzer hat eine eindeutige User-ID (UID), die in /etc/passwd steht.
  • Jeder Nutzer gehört mindestens einer Benutzergruppe an (z.B.: staff).
  • Jeder Nutzer darf (fast) beliebig viele Prozesse starten.
  • Manche Nutzer dürfen SuperUser root werden, mit su- oder sudo.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Bash2.teil2.pdf

Description

In diesem Quiz werden die Grundlagen von Anführungszeichen und Variablen in Bash-Skripten behandelt. Die verschiedenen Typen von Anführungszeichen sowie die Nutzung des $-Steuerzeichens werden erklärt. Teste dein Wissen über diese wichtigen Konzepte!

More Like This

at & Localization Pop Quiz
9 questions

at & Localization Pop Quiz

GuiltlessAshcanSchool avatar
GuiltlessAshcanSchool
Shell Scripting Grundlagen
40 questions

Shell Scripting Grundlagen

RevolutionaryFern2779 avatar
RevolutionaryFern2779
Einführung in Shell Scripting
40 questions

Einführung in Shell Scripting

RevolutionaryFern2779 avatar
RevolutionaryFern2779
Use Quizgecko on...
Browser
Browser