Aliasse und Funktionen Flashcards
Was macht die spezielle Bash Variable $?
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.
Was macht die spezielle Bash Variable $$
Zeigt die PID der Shell mit der das Skript aufgerufen wurde.
Was macht die spezielle Bash Variable
$!
Liefert die PID des letzten Hintergrundjobs:
Die spezielle Variable $! in Bash enthält die Prozesskennung (PID) des zuletzt im Hintergrund
gestarteten Prozesses.
sleep 10 &
Was macht die spezielle Bash Variable
$*
oder
$@
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
Was macht die spezielle Bash Variable
$_
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.
Was macht die spezielle Bash Variable
$#
Liefert die Anzahl der an den Befehl übergebenen Argumente.
Wieviel Übergabewerte gab es?
Was macht die speziellen Bash Variablen
$1 bis $9
$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…
Wie lautet der Befehl, der alle Aliasnamen in Ihrem System auflistet?
alias
Schreiben Sie einen Alias namens logg, der alle ogg-Dateien in ~/Music auflistet — eine pro Zeile:
alias logg=’ls -l ~/Musik | grep .ogg’
Mit welchem Befehl löscht man eine Alias ?
unalias
Was ist der unterschied bei einzelnen und doppelten Anführungszeichen im zusammenhang mit Umgebungsvariablen bei Aliasse ?
Wenn innerhalb eines Alias eine Umgebungsvariable referenziert wird, dann machen
* einfach Anführungszeichen die Erweiterung dynamisch
* doppelte Anführungszeichen statisch
Sind aliasse persistent ?
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
Wie latutet die Syntax einer Funktion Namens listmusic ?
function listmusic {
}
oder
listmusic () {
}
Was ist der Unterschied zwischen Aliasse und Funktionen ?
- Funktionen sind flexibler als Aliasse, besonders wenn es darum geht, das Potenzial der speziellen eingebauten Variablen und Positionsparameter der Bash auszunutzen.
- Ist eine Art Befehl, der Logik in Form von Blöcken oder Sammlungen anderer Befehle enthält.
- Eignen sich um mit Flusskontrollstrukturen wie Schleifen oder bedingten Anweisungen zu arbeiten.
Wie verwendet man den command unset um Funktionen zurückzusetzen ?
unset -f