Shellprogrammierung

Informatik, 4. Semester

Informatik, 4. Semester


Fichier Détails

Cartes-fiches 68
Langue Deutsch
Catégorie Informatique
Niveau Université
Crée / Actualisé 23.03.2017 / 18.07.2021
Lien de web
https://card2brain.ch/box/20170323_shellprogrammierung_qLMT
Intégrer
<iframe src="https://card2brain.ch/box/20170323_shellprogrammierung_qLMT/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was bedeutet es, wenn ein Befehl einen Exit-Status 0 zurückgibt?

kein Fehler

In welcher Variable wird der Exit-Status des zuletzt ausgeführten Befehls gespeichert?

$?

Nennen Sie zwei Möglichkeiten, um sich (fast) immer Hilfe zu einem Befehl anzeigen zu lassen?

  • <Programm/Kommando> --help bzw. help <Programm/Kommando>
  • man <Programm/Kommando>

Was sind die Unterschiede zwischen den folgenden drei Befehlen?

(a) echo hallo    $(whoami), du bist in $SHELL

(b) echo "hallo    $(whoami), du bist in $SHELL"

(c) echo 'hallo    $(whoami), du bist in $SHELL'

(a) keine Anführungszeichen: Leerzeichen werden ignoriert; $(whoami) und $SHELL werden ausgewertet und geben den Benutzernamen bzw. die aktuell genutzte Shell zurück

(b) doppelte Anführungszeichen (double quotes): Leerzeichen werden berücksichtigt; $(whoami) und $SHELL werden ausgewertet und geben den Benutzernamen bzw. die aktuell genutzte Shell zurück

(c) einfache Anführungszeichen (single quotes): Leerzeichen werden berücksichtigt; $(whoami) und $SHELL werden NICHT ausgewertet

Nennen Sie zwei Aufagben, die sich mit sed erledigen lassen?

  • Text ersetzen: sed 's/Original/Neu/' eingabedatei
  • Zeilen löschen: sed '/Ausdruck/d' eingabedatei
  • Zeilen hinzufügen nach Adresse: sed 'Adresse a\neue Zeile' eingabedatei
  • Zeilen hinzufügen nach Ausdruck: sed '/Ausdruck/ a\neue Zeile' eingabedatei

Was können Sie mit dem Tool grep erreichen?

grep sucht Zeichenketten anhand von regulären Ausdrücken und gibt Treffer zurück.

Nennen Sie jeweils ein Tool, mit dem sich folgende Aufgaben erledigen lassen?

(a) Zeichenketten anhand eines Trennzeichens auftrennen

(b) Zeilen sortieren

(c) Statistiken über Zeilen/Wörter/Zeichen ausgeben

(a) cut

(b) sort

(c) wc

Eingabe: grep '#!/bin/bash' scripter.sh

Ausgabe:

#!/bin/bash

echo '#!/bin/bash' > $script

(a) Was passiert hier?

(b) Wie können Sie erreichen, dass nur die erste Zeile ausgegeben wird?

 

(a) Es wird in der Datei "scripter.sh" nach der Zeichenkette "#!/bin/bash" gesucht und die Zeilen, die diese Zeichenkette enthalten, ausgegeben.

(b) grep '#!/bin/bash' scripter.sh | head -1

Wie können Sie einen Befehl im Hintergrund ablaufen lassen?

"&" an Befehl anhängen

Wie können Sie sich alle im Hintergrund laufenden / pausierten Befehle anzeigen lassen?

jobs

Wie holen Sie einen im Hintergrund laufenden Befehl wieder in den Vordergrund?

fg

Wie bringen Sie einen im Vordergrund laufenden Befehl (pausiert) in den Hintergrund?

STRG+Z

Wie können Sie einen im Hintergrund pausierten Befehl wieder starten?

bg

Nennen Sie drei Befehle, mit denen Sie in Ihr Heimatverzeichnis welchseln können.

  • cd
  • cd ~
  • cd $HOME

Welche Bedeutung haben folgende Variablen der Shell?

  1. $#
  2. $1
  3. $0
  4. $?

  1. Anzahl aller übergebenen Parameter
  2. erster übergebener Parameter
  3. Dateinamen des aufgerufenen Skripts
  4. Rückgabewert des zuletzt aufgerufenen Befehls (exit-Status)

Mit welcher Tastenkombination kann ein im Vordergrund laufendes Programm abgebrochen werden, so dass es beendet wird?

STRG+C

Mit welchem Befehl können Sie einen Prozess beenden?

kill

"Nicht benötigte Ausgaben lassen sich am besten auf das Gerät /dev/nil umleiten." Wahr oder falsch?

Falsch, /dev/null.

"Das Heimatverzeichnis jedes User liegt auf jedem Unix-artigen System immer unter /home". Wahr oder falsch?

Wahr.

"Dateien unter Unix-artigen Systemen lassen sich anhand der Eigenschaften static/dynamic uns sharable/unsharable kategorisieren." Wahr oder falsch?

Falsch, static/variable.

"Der Rückgabewert eines Befehls ist immer 0, wenn dieser erfolgreich ausgeführt wurde." Wahr oder falsch?

Wahr.

Wie können Sie sich alle definierten Aliasse anzeigen lassen?

alias

Worauf prüft folgender Befehl: "[-f datei1.txt -a -e datei2.txt]"?

  •  -f: prüft, ob datei1.txt existiert und eine reguläre Datei ist
  • -e: prüft, ob datei2.txt existiert
  • -a: wahr, wenn beide Bedingungen zutreffen

Worauf prüft folgender Befehl: "[$number -gt 0 -a $number -lt 11]"?

  • -gt: prüft, ob $number größer 0 ist
  • -lt: prüft, ob $number kleiner 11 ist
  • -a: wahr, wenn beide Bedingungen zutreffen

Welche Bedeutung hat die Variable $PATH

Umgebungsvariable, die die Liste der Suchpfade enthält

Wie ließe sich die Auswertung der Magic Line umgehen?

  • direkt den Interpreter mit Script als Parameter starten
  • . <script>, was dasselbe ist wie source <script>

Wie kann ein Befehl abhängig vom Exit-Status 0 eines vorhergehenden Befehls direkt ausgeführt werden (also ohne if)?

Befehl1 && Befehl2

Wie kann ein Befehl abhängig von einem Exit-Status eines vorhergehenden Befehls, der ungleich 0 ist, direkt ausgeführt werden (also ohne if)?

Befehl1 || Befehl2