Bash/Builtin: Unterschied zwischen den Versionen
Zeile 24: | Zeile 24: | ||
= Übersicht = | = Übersicht = | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Befehl !! Beschreibung | ! Befehl !! Beschreibung | ||
|- | |- | ||
| [[Null]] || | |||
|- | |- | ||
| [[source]] || | |||
|- | |- | ||
| alias || Definition einer Abkürzung für ein Kommando | | [[alias]] ||Definition einer Abkürzung für ein Kommando | ||
|- | |- | ||
| jobs || Listet die Jobnummern aller Hintergrundprozesse auf | | [[jobs]] ||Listet die Jobnummern aller Hintergrundprozesse auf | ||
|- | |- | ||
| [[bind]] || | |||
|- | |- | ||
| [[break]] || | |||
|- | |- | ||
| cd || Verzeichnis wechseln | | [[cd]] ||Verzeichnis wechseln | ||
|- | |- | ||
| [[command]] || | |||
|- | |- | ||
| [[compgen]] || | |||
|- | |- | ||
| complete || Verhalten der Bash bei der Vervollständigung steuern | | [[complete]] ||Verhalten der Bash bei der Vervollständigung steuern | ||
|- | |- | ||
| [[continue]] || | |||
|- | |- | ||
| declare || Deklarieren von Variablen | | [[declare]] ||Deklarieren von Variablen | ||
|- | |- | ||
| dirs || Anzeige des Verzeichnisstacks | | [[dirs]] ||Anzeige des Verzeichnisstacks | ||
|- | |- | ||
| [[disown]] || | |||
|- | |- | ||
| echo || Eine Zeile Text anzeigen | | [[echo]] ||Eine Zeile Text anzeigen | ||
|- | |- | ||
| enable || Eingebauten Kommandos der Shell aktivieren | | [[enable]] ||Eingebauten Kommandos der Shell aktivieren | ||
|- | |- | ||
| eval || Liest seine Argumente, wobei die üblichen Ersetzungen stattfinden, und führt die resultierende Zeichenkette als Kommando aus. | | [[eval]] ||Liest seine Argumente, wobei die üblichen Ersetzungen stattfinden, und führt die resultierende Zeichenkette als Kommando aus. | ||
|- | |- | ||
| exec || Das Kommando besitzt zwei Bedeutungen. | | [[exec]] ||Das Kommando besitzt zwei Bedeutungen. | ||
|- | |- | ||
| exit || Beendet die Shell | | [[exit]] ||Beendet die Shell | ||
|- | |- | ||
| export || Exportieren von Variablen | | [[export]] ||Exportieren von Variablen | ||
|- | |- | ||
| fc || Manipulation der History-Einträge | | [[fc]] ||Manipulation der History-Einträge | ||
|- | |- | ||
| fg || holt einen Hintergrundprozess in den Vordergrund | | [[fg]] ||holt einen Hintergrundprozess in den Vordergrund | ||
|- | |- | ||
| [[getopts]] || | |||
|- | |- | ||
| [[hash]] || | |||
|- | |- | ||
| help || Schreibt einen kurzen Hilfetext zu einem eingebauten Kommando aus. | | [[help]] ||Schreibt einen kurzen Hilfetext zu einem eingebauten Kommando aus. | ||
|- | |- | ||
| history || Kommandozeilenspeicher anzeigen | | [[history]] ||Kommandozeilenspeicher anzeigen | ||
|- | |- | ||
| kill || Signale an Prozesse senden | | [[kill]] ||Signale an Prozesse senden | ||
|- | |- | ||
| let || Für jedes Argument wird eine arithmetische Substitution versucht | | [[let]] ||Für jedes Argument wird eine arithmetische Substitution versucht | ||
|- | |- | ||
| local || Definition lokaler Variablen | | [[local]] ||Definition lokaler Variablen | ||
|- | |- | ||
| logout || Beendet eine Login-Bash und meldet den Benutzer ab. In einer Nicht-Login-Bash wird eine Fehlermeldung ausgegeben. | | [[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. | | [[popd]] ||Entfernt den obersten Eintrag vom Verzeichnisstack und wechselt zum neuen obersten Verzeichniseintrag. | ||
|- | |- | ||
| [[printf]] || | |||
|- | |- | ||
| pushd || Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird | | [[pushd]] ||Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird | ||
|- | |- | ||
| pwd || Gibt das aktuelle Arbeitsverzeichnis aus | | [[pwd]] ||Gibt das aktuelle Arbeitsverzeichnis aus | ||
|- | |- | ||
| [[read]] || | |||
|- | |- | ||
| readonly || Variablen und Funktionen lassen sich nachträglich als »nicht änderbar« deklarieren. | | [[readonly]] ||Variablen und Funktionen lassen sich nachträglich als »nicht änderbar« deklarieren. | ||
|- | |- | ||
| return || Rücksprung aus einer Funktion | | [[return]] ||Rücksprung aus einer Funktion | ||
|- | |- | ||
| set || Setzen bash-interner Variablen ||[[set]] | | [[set]] ||Setzen bash-interner Variablen ||[[set]] | ||
|- | |- | ||
| shift || Verschieben der Positionsparameter | | [[shift]] ||Verschieben der Positionsparameter | ||
|- | |- | ||
| shopt || Dient zum Setzen bash-interner Variablen, die das Verhalten der Shell maßgeblich beeinflussen | | [[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. | | [[suspend]] ||Suspendiert die Shell. Sie kann nur durch ein Signal SIGCONT reaktiviert werden. | ||
|- | |- | ||
| test || Bedingungen prüfen | | [[test]] ||Bedingungen prüfen | ||
|- | |- | ||
| times || Zeit der Shell und von ihr gestarteter Kommandos messen | | [[times]] ||Zeit der Shell und von ihr gestarteter Kommandos messen | ||
|- | |- | ||
| [[trap]] || | |||
|- | |- | ||
| [[type]] || | |||
|- | |- | ||
| typeset | | [[typeset]] ||declare | ||
|- | |- | ||
| [[ulimit]] || | |||
|- | |- | ||
| umask || Zugriffsrechte für neue Dateien steuern | | [[umask]] ||Zugriffsrechte für neue Dateien steuern | ||
|- | |- | ||
| unalias || Löschen von Aliasen || | | [[unalias]] ||Löschen von Aliasen || | ||
|- | |- | ||
| unset || Löschen einer Variable oder Funktion || | | [[unset]] ||Löschen einer Variable oder Funktion || | ||
|- | |- | ||
| wait || Warten auf einen oder alle Hintergrundprozesse | | [[wait]] ||Warten auf einen oder alle Hintergrundprozesse | ||
|} | |} | ||
Version vom 26. Mai 2022, 21:10 Uhr
Builtins (eingebaute Befehle) sind Kommandos, die von der Shell bereitgestellt werden
Beschreibung
- keinen eigenen Prozess
- von der Shell interpretiert und ausgeführt
- Manchmal gibt es eine eingebaute und eine externe Version
- 'echo' (intern) und '/bin/echo' (extern)
Gründe für eingebauten Befehlen
- Befehl nicht als Unix-Kommando verfügbar
- Beispielsweise 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
Arten von builtin
Was wird gestartet?
- type
- whereis
Builtins ein- und ausschalten
Übersicht
Befehl | Beschreibung | |
---|---|---|
Null | ||
source | ||
alias | Definition einer Abkürzung für ein Kommando | |
jobs | Listet die Jobnummern aller Hintergrundprozesse auf | |
bind | ||
break | ||
cd | Verzeichnis wechseln | |
command | ||
compgen | ||
complete | Verhalten der Bash bei der Vervollständigung steuern | |
continue | ||
declare | Deklarieren von Variablen | |
dirs | Anzeige des Verzeichnisstacks | |
disown | ||
echo | Eine Zeile Text anzeigen | |
enable | Eingebauten Kommandos der Shell aktivieren | |
eval | Liest seine Argumente, wobei die üblichen Ersetzungen stattfinden, und führt die resultierende Zeichenkette als Kommando aus. | |
exec | Das Kommando besitzt zwei Bedeutungen. | |
exit | Beendet die Shell | |
export | Exportieren von Variablen | |
fc | Manipulation der History-Einträge | |
fg | holt einen Hintergrundprozess in den Vordergrund | |
getopts | ||
hash | ||
help | Schreibt einen kurzen Hilfetext zu einem eingebauten Kommando aus. | |
history | Kommandozeilenspeicher anzeigen | |
kill | Signale an Prozesse senden | |
let | Für jedes Argument wird eine arithmetische Substitution versucht | |
local | Definition lokaler Variablen | |
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. | |
printf | ||
pushd | Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird | |
pwd | Gibt das aktuelle Arbeitsverzeichnis aus | |
read | ||
readonly | Variablen und Funktionen lassen sich nachträglich als »nicht änderbar« deklarieren. | |
return | Rücksprung aus einer Funktion | |
set | Setzen bash-interner Variablen | set |
shift | Verschieben der Positionsparameter | |
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 | Bedingungen prüfen | |
times | Zeit der Shell und von ihr gestarteter Kommandos messen | |
trap | ||
type | ||
typeset | declare | |
ulimit | ||
umask | Zugriffsrechte für neue Dateien steuern | |
unalias | Löschen von Aliasen | |
unset | Löschen einer Variable oder Funktion | |
wait | Warten auf einen oder alle Hintergrundprozesse |