Bash/Builtin: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
 Leere Seite erstellt  | 
				K Textersetzung - „»“ durch „''“  | 
				||
| (180 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''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? ===  | |||
* [[type]]  | |||
* [[whereis]]  | |||
=== Builtins ein- und ausschalten ===  | |||
== Übersicht ==  | |||
{| class="wikitable sortable"  | |||
|-  | |||
! 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  | |||
|}  | |||
<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