Bash/Builtin: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „»“ durch „''“ |
|||
| (48 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
''' | '''Bash/Builtin''' - Kommando, das von der [[bash]] bereitgestellt wird | ||
= Beschreibung = | == Beschreibung == | ||
* | ; Kommandos, die von der Shell bereitgestellt werden | ||
* | * Eingebaute Befehle (Builtins) | ||
* Kein eigener Prozess | |||
* Von der Shell interpretiert und ausgeführt | |||
''' Gründe für eingebauten Befehlen | ; Intern/Extern | ||
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 | # Befehl nicht als Unix-Kommando verfügbar | ||
#* Beispielsweise | #* Beispielsweise ''source'' | ||
# Weil ein builtin Kommando effizienter arbeitet | # Weil ein builtin Kommando effizienter arbeitet | ||
#* als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel | #* als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel ''echo'') | ||
# Weil nur ein eingebautes Kommando Bash-interne Variablen ändern kann (Beispiel | # Weil nur ein eingebautes Kommando Bash-interne Variablen ändern kann (Beispiel ''export'') | ||
# Weil ein Kommando wie | # Weil ein Kommando wie ''exec'' nur innerhalb der Bash realisierbar ist | ||
=== Arten von builtin === | |||
=== Was wird gestartet? === | |||
* type | * [[type]] | ||
* whereis | * [[whereis]] | ||
=== Builtins ein- und ausschalten === | |||
= | |||
== Übersicht == | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Befehl !! Beschreibung | ! Befehl !! Beschreibung | ||
|- | |- | ||
| Null || || [[ | | [[Null]] || Null-Kommando | ||
|- | |||
| [[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 | |||
|- | |- | ||
| [[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 | ||
|- | |- | ||
| [[time]] || Report time consumed by pipeline's execution | |||
|- | |- | ||
| 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 | ||
|} | |} | ||
[[Kategorie | <noinclude> | ||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
; Man-Page | |||
;Info-Page | |||
=== Links === | |||
==== Weblinks ==== | |||
[[Kategorie:Bash/Builtin]] | |||
</noinclude> | |||
Aktuelle Version vom 31. März 2025, 11:23 Uhr
Bash/Builtin - Kommando, das von der bash bereitgestellt wird
Beschreibung
- Kommandos, die von der Shell bereitgestellt werden
- Eingebaute Befehle (Builtins)
- Kein eigener Prozess
- Von der Shell interpretiert und ausgeführt
- Intern/Extern
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?
Builtins ein- und ausschalten
Übersicht
| Befehl | Beschreibung |
|---|---|
| Null | Null-Kommando |
| 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 |
| 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 |
| time | Report time consumed by pipeline's execution |
| 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 |
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Page