Aliasse und Funktionen Flashcards

1
Q

Was macht die spezielle Bash Variable $?

A

enthält den Exit-Status des zuletzt ausgeführten Befehls oder Skripts.
Ein Exit-Status von 0 zeigt an, dass der Befehl erfolgreich war, während ein anderer Wert normalerweise auf einen Fehler hinweist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was macht die spezielle Bash Variable $$

A

Zeigt die PID der Shell mit der das Skript aufgerufen wurde.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was macht die spezielle Bash Variable
$!

A

Liefert die PID des letzten Hintergrundjobs:

Die spezielle Variable $! in Bash enthält die Prozesskennung (PID) des zuletzt im Hintergrund gestarteten Prozesses.

sleep 10 &

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was macht die spezielle Bash Variable
$*
oder
$@

A

Liefert alle an den Befehl übergebenen Argumente.

Lautet der befehl zum aufrufen der Funktion my_fun…
my_fun erstes oder auch argument

dann wird nach Aufruf von echo $@ alle 4 argumente ausgegeben
erstes oder auch argument

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was macht die spezielle Bash Variable
$_

A

Die Variable $ in Bash enthält entweder den Namen des Skripts, den absoluten Pfad zum verwendetet Program, oder den letzten Übergabeparameter des vorherigen commands.
Je nach Kontext.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was macht die spezielle Bash Variable
$#

A

Liefert die Anzahl der an den Befehl übergebenen Argumente.
Wieviel Übergabewerte gab es?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was macht die speziellen Bash Variablen
$1 bis $9

A

$0 enthält den Namen des aufrufenden Programms mitsamt dem beim Start angegebenen Pfad.

$1 - $9 sind Übergabewerte.
$1 entwpricht dem ersten Argument welches dem script übergeben wurde.
$2 dem zweiten, usw…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie lautet der Befehl, der alle Aliasnamen in Ihrem System auflistet?

A

alias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Schreiben Sie einen Alias namens logg, der alle ogg-Dateien in ~/Music auflistet — eine pro Zeile:

A

alias logg=’ls -l ~/Musik | grep .ogg’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mit welchem Befehl löscht man eine Alias ?

A

unalias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist der unterschied bei einzelnen und doppelten Anführungszeichen im zusammenhang mit Umgebungsvariablen bei Aliasse ?

A

Wenn innerhalb eines Alias eine Umgebungsvariable referenziert wird, dann machen
* einfach Anführungszeichen die Erweiterung dynamisch
* doppelte Anführungszeichen statisch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Sind aliasse persistent ?

A

Nein. Sie müssen in den Bash Startskripten hinterlegt werden.
~/.bashrc ist eine geeignete Datei für Benutzer, um ihre persönlichen Aliasse zu speichern.

Manchmal gibt es auch eine “if-Anweisung” die eine Datei ~/.bash_aliases sourced falls diese Vorhanden ist.
Z.b. finden sich folgende Zeilen in ~/.bashrc

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases

Es kann also eine Datei Namens ~/.bash_aliases mit den ganzen Aliasse angelegt werden, die im Anschluss automatisch gesourced wird beim Systemstart von .bashrc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie latutet die Syntax einer Funktion Namens listmusic ?

A

function listmusic {
}

oder

listmusic () {
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist der Unterschied zwischen Aliasse und Funktionen ?

A
  1. Funktionen sind flexibler als Aliasse, besonders wenn es darum geht, das Potenzial der speziellen eingebauten Variablen und Positionsparameter der Bash auszunutzen.
  2. Ist eine Art Befehl, der Logik in Form von Blöcken oder Sammlungen anderer Befehle enthält.
  3. Eignen sich um mit Flusskontrollstrukturen wie Schleifen oder bedingten Anweisungen zu arbeiten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie verwendet man den command unset um Funktionen zurückzusetzen ?

A

unset -f

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie kann mit einer if Anweisung getestet werden ob der vorherige command erfolgreich war ?

A

if [ “$?” = “0” ]; then

17
Q

was ist der sogenannte bit-bucket ?

A

/dev/null

ein Verzeichnis wo der Inhalt im Nirvana verschwindet.

echo “servus von hier” > /dev/null 2>&1
würde stdout und stderr in /dev/null leiten

18
Q

Wie macht man eine Funktion Namens my_fun schreibgeschützt ?

A

readonly -f my_fun

19
Q

Wie listet man alle schreibgeschützte Funktionen ?

A

readonly -f

20
Q

Kann ein Alias, oder eine Funktion mit \ escaped werden, damit der built in command funktioniert ?

A

\aliasname