Bash/Builtin: Unterschied zwischen den Versionen
Zeile 16: | Zeile 16: | ||
type | type | ||
whereis | whereis | ||
= Übersicht = | |||
{| class="wikitable sortable" | |||
|- | |||
! Befehl !! Beschreibung !! Link | |||
|- | |||
| Null || || [[Linux:Shell:Bash:Builtin:null]] | |||
|- | |||
| source || || [[Linux:Shell:Bash:Builtin:source]] | |||
|- | |||
| alias || Definition einer Abkürzung für ein Kommando || [[Linux:Shell:Bash:Builtin:alias]] | |||
|- | |||
| jobs || Listet die Jobnummern aller Hintergrundprozesse auf.|| [[Linux:Shell:Bash:Builtin:jobs]] | |||
|- | |||
| bind || || [[Linux:Shell:Bash:Builtin:bind]] | |||
|- | |||
| break || || [[Linux:Shell:Bash:Builtin:break]] | |||
|- | |||
| cd || || [[Linux:Shell:Bash:Builtin:cd |Verzeichnis wechseln]] | |||
|- | |||
| command || || [[Linux:Shell:Bash:Builtin:command]] | |||
|- | |||
| compgen || || [[Linux:Shell:Bash:Builtin:compgen]] | |||
|- | |||
| complete || Mit diesem Kommando kann das ganze Verhalten der Bash bei der Vervollständigung von Argumenten verändert werden|| [[Linux:Shell:Bash:Builtin:complete]] | |||
|- | |||
| continue || || [[Linux:Shell:Bash:Builtin:continue]] | |||
|- | |||
| declare || Deklarieren von Variablen|| [[Linux:Shell:Bash:Builtin:declare]] | |||
|- | |||
| dirs || Anzeige des Verzeichnisstacks|| [[Linux:Shell:Bash:Builtin:dirs]] | |||
|- | |||
| disown || || [[Linux:Shell:Bash:Builtin:disown]] | |||
|- | |||
| echo || Eine Zeile Text anzeigen|| [[Linux:Shell:Bash:Builtin:echo]] [[Linux:Befehl:echo]] | |||
|- | |||
| enable || Eingebauten Kommandos der Shell aktivieren|| [[Linux:Shell:Bash:Builtin:enable]] | |||
|- | |||
| eval || Liest seine Argumente, wobei die üblichen Ersetzungen stattfinden, und führt die resultierende Zeichenkette als Kommando aus. || [[Linux:Shell:Bash:Builtin:eval]] | |||
|- | |||
| exec || Das Kommando besitzt zwei Bedeutungen. || [[Linux:Shell:Bash:Builtin:exec]] | |||
|- | |||
| exit || Beendet die Shell|| [[Linux:Shell:Bash:Builtin:exit]] | |||
|- | |||
| export || Exportieren von Variablen|| [[Linux:Shell:Bash:Builtin:export]] | |||
|- | |||
| fc || Manipulation der History-Einträge|| [[Linux:Shell:Bash:Builtin:fc]] | |||
|- | |||
| fg || holt einen Hintergrundprozess in den Vordergrund|| [[Linux:Shell:Bash:Builtin:fg]] | |||
|- | |||
| getopts || || [[Linux:Shell:Bash:Builtin:getopts]] | |||
|- | |||
| hash || || [[Linux:Shell:Bash:Builtin:hash]] | |||
|- | |||
| help || Schreibt einen kurzen Hilfetext zu einem eingebauten Kommando aus. || | |||
|- | |||
| history || Das Kommando dient zur Anzeige oder Manipulation des Kommandozeilenspeichers. || [[Linux:Shell:Bash:Builtin:history]] | |||
|- | |||
| kill || Das Kommando dient der Steuerung bereits laufender Prozesse, indem es an diese Signale versendet. || [[Linux:Shell:Bash:Builtin:kill]] | |||
|- | |||
| let || Für jedes Argument wird eine arithmetische Substitution versucht. || [[Linux:Shell:Bash:Builtin:let]] | |||
|- | |||
| local || Definition lokaler Variablen|| [[Linux:Shell:Bash:Builtin:local]] | |||
|- | |||
| logout || Beendet eine Login-Bash und meldet den Benutzer ab. In einer Nicht-Login-Bash wird eine Fehlermeldung ausgegeben. || | |||
|- | |||
| popd || Entfernt den obersten Eintrag vom Verzeichnisstack und wechselt zum neuen obersten Verzeichniseintrag. || [[Linux:Shell:Bash:Builtin:popd]] | |||
|- | |||
| printf || || [[Linux:Shell:Bash:Builtin:printf]] | |||
|- | |||
| pushd || Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird. || [[Linux:Shell:Bash:Builtin:pushd]] | |||
|- | |||
| pwd || Gibt das aktuelle Arbeitsverzeichnis aus. || [[Linux:Shell:Bash:Builtin:pwd]] | |||
|- | |||
| read || || [[Linux:Shell:Bash:Builtin:read]] | |||
|- | |||
| readonly || Variablen und Funktionen lassen sich nachträglich als »nicht änderbar« deklarieren. || [[Linux:Shell:Bash:Builtin:readonly]] | |||
|- | |||
| return || Rücksprung aus einer Funktion. || [[Linux:Shell:Bash:Builtin:return]] | |||
|- | |||
| set || [[Linux:Shell:Bash:Builtin:set || set dient zum Setzen bash-interner Variablen]] | |||
|- | |||
| shift || Verschieben der Positionsparameter || [[Linux:Shell:Bash:Builtin:shift]] | |||
|- | |||
| shopt || Dient zum Setzen bash-interner Variablen, die das Verhalten der Shell maßgeblich beeinflussen || | |||
|- | |||
| suspend || Suspendiert die Shell. Sie kann nur durch ein Signal SIGCONT reaktiviert werden. || | |||
|- | |||
| test || test liefert in Abhängigkeit vom Wahrheitswert des Ausdrucks 0 (wahr) oder 1 (falsch) zurück und ist damit ein wichtiger Bestandteil vieler Shellskripten. || [[Linux:Shell:Bash:Builtin:test]] | |||
|- | |||
| times || Misst die Zeit für die Shell und der von dieser gestarteten Kommandos. || [[Linux:Shell:Bash:Builtin:times]] | |||
|- | |||
| trap || || [[Linux:Shell:Bash:Builtin:trap]] | |||
|- | |||
| type || || [[Linux:Shell:Bash:Builtin:type]] | |||
|- | |||
| typeset || || declare | |||
|- | |||
| ulimit || || [[Linux:Shell:Bash:Builtin:ulimit]] | |||
|- | |||
| umask || Setzt die Rechtemaske für neu erzeugte Dateien oder Verzeichnisse bzw. zeigt die Rechte an. || [[Linux:Shell:Bash:Builtin:umask]] | |||
|- | |||
| unalias || Löscht den angegebenen Alias bzw. mit der Option -a alle Aliasse. || | |||
|- | |||
| unset || Dient zum Löschen einer Variable oder Funktion. || | |||
|- | |||
| wait || Dient zum Warten auf einen oder alle Hintergrundprozesse. || [[Linux:Shell:Bash:Builtin:wait]] | |||
|} | |||
= Links = | = Links = |
Version vom 25. Februar 2022, 11:43 Uhr
Beschreibung
Es gibt eine Fülle solcher eingebauter Kommandos und mindestens 4 Gründe, warum solche in der Bash überhaupt existieren:
- Weil es ein solches Kommando in Unix nicht gibt (Beispiel "source")
- Weil ein builtin Kommando effizienter arbeitet als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel »echo«)
- Weil nur ein eingebautes Kommando Bash-interne Variablen ändern kann (Beispiel »export«)
- Weil ein Kommando wie »exec« nur innerhalb der Bash realisierbar ist
Betrachten wir die einzelnen builtin-Kommandos
- Etliche der besprochenen Shell-Kommandos starten nicht, wie sonst üblich, einen eigenen Prozess, sondern sie werden direkt von der Shell interpretiert und ausgeführt.
- Teilweise ist keine E/A-Umleitung möglich.
- Zum Teil gibt es interne und externe Versionen, z. B. 'echo' (intern) und '/bin/echo' (extern).
Arten von builtin
Was wird gestartet?
type whereis
Übersicht
Befehl | Beschreibung | Link |
---|---|---|
Null | Linux:Shell:Bash:Builtin:null | |
source | Linux:Shell:Bash:Builtin:source | |
alias | Definition einer Abkürzung für ein Kommando | Linux:Shell:Bash:Builtin:alias |
jobs | Listet die Jobnummern aller Hintergrundprozesse auf. | Linux:Shell:Bash:Builtin:jobs |
bind | Linux:Shell:Bash:Builtin:bind | |
break | Linux:Shell:Bash:Builtin:break | |
cd | Verzeichnis wechseln | |
command | Linux:Shell:Bash:Builtin:command | |
compgen | Linux:Shell:Bash:Builtin:compgen | |
complete | Mit diesem Kommando kann das ganze Verhalten der Bash bei der Vervollständigung von Argumenten verändert werden | Linux:Shell:Bash:Builtin:complete |
continue | Linux:Shell:Bash:Builtin:continue | |
declare | Deklarieren von Variablen | Linux:Shell:Bash:Builtin:declare |
dirs | Anzeige des Verzeichnisstacks | Linux:Shell:Bash:Builtin:dirs |
disown | Linux:Shell:Bash:Builtin:disown | |
echo | Eine Zeile Text anzeigen | Linux:Shell:Bash:Builtin:echo Linux:Befehl:echo |
enable | Eingebauten Kommandos der Shell aktivieren | Linux:Shell:Bash:Builtin:enable |
eval | Liest seine Argumente, wobei die üblichen Ersetzungen stattfinden, und führt die resultierende Zeichenkette als Kommando aus. | Linux:Shell:Bash:Builtin:eval |
exec | Das Kommando besitzt zwei Bedeutungen. | Linux:Shell:Bash:Builtin:exec |
exit | Beendet die Shell | Linux:Shell:Bash:Builtin:exit |
export | Exportieren von Variablen | Linux:Shell:Bash:Builtin:export |
fc | Manipulation der History-Einträge | Linux:Shell:Bash:Builtin:fc |
fg | holt einen Hintergrundprozess in den Vordergrund | Linux:Shell:Bash:Builtin:fg |
getopts | Linux:Shell:Bash:Builtin:getopts | |
hash | Linux:Shell:Bash:Builtin:hash | |
help | Schreibt einen kurzen Hilfetext zu einem eingebauten Kommando aus. | |
history | Das Kommando dient zur Anzeige oder Manipulation des Kommandozeilenspeichers. | Linux:Shell:Bash:Builtin:history |
kill | Das Kommando dient der Steuerung bereits laufender Prozesse, indem es an diese Signale versendet. | Linux:Shell:Bash:Builtin:kill |
let | Für jedes Argument wird eine arithmetische Substitution versucht. | Linux:Shell:Bash:Builtin:let |
local | Definition lokaler Variablen | Linux:Shell:Bash:Builtin:local |
logout | Beendet eine Login-Bash und meldet den Benutzer ab. In einer Nicht-Login-Bash wird eine Fehlermeldung ausgegeben. | |
popd | Entfernt den obersten Eintrag vom Verzeichnisstack und wechselt zum neuen obersten Verzeichniseintrag. | Linux:Shell:Bash:Builtin:popd |
printf | Linux:Shell:Bash:Builtin:printf | |
pushd | Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird. | Linux:Shell:Bash:Builtin:pushd |
pwd | Gibt das aktuelle Arbeitsverzeichnis aus. | Linux:Shell:Bash:Builtin:pwd |
read | Linux:Shell:Bash:Builtin:read | |
readonly | Variablen und Funktionen lassen sich nachträglich als »nicht änderbar« deklarieren. | Linux:Shell:Bash:Builtin:readonly |
return | Rücksprung aus einer Funktion. | Linux:Shell:Bash:Builtin:return |
set | [[Linux:Shell:Bash:Builtin:set | set dient zum Setzen bash-interner Variablen]] |
shift | Verschieben der Positionsparameter | Linux:Shell:Bash:Builtin:shift |
shopt | Dient zum Setzen bash-interner Variablen, die das Verhalten der Shell maßgeblich beeinflussen | |
suspend | Suspendiert die Shell. Sie kann nur durch ein Signal SIGCONT reaktiviert werden. | |
test | test liefert in Abhängigkeit vom Wahrheitswert des Ausdrucks 0 (wahr) oder 1 (falsch) zurück und ist damit ein wichtiger Bestandteil vieler Shellskripten. | Linux:Shell:Bash:Builtin:test |
times | Misst die Zeit für die Shell und der von dieser gestarteten Kommandos. | Linux:Shell:Bash:Builtin:times |
trap | Linux:Shell:Bash:Builtin:trap | |
type | Linux:Shell:Bash:Builtin:type | |
typeset | declare | |
ulimit | Linux:Shell:Bash:Builtin:ulimit | |
umask | Setzt die Rechtemaske für neu erzeugte Dateien oder Verzeichnisse bzw. zeigt die Rechte an. | Linux:Shell:Bash:Builtin:umask |
unalias | Löscht den angegebenen Alias bzw. mit der Option -a alle Aliasse. | |
unset | Dient zum Löschen einer Variable oder Funktion. | |
wait | Dient zum Warten auf einen oder alle Hintergrundprozesse. | Linux:Shell:Bash:Builtin:wait |