Bash/Builtin: Unterschied zwischen den Versionen
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
|||
(30 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Builtins''' | '''Builtins''' - Kommandos, die von der Shell bereitgestellt werden | ||
= 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 »echo«) | #* als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel »echo«) | ||
# Weil nur ein eingebautes Kommando Bash-interne Variablen ändern kann (Beispiel »export«) | # Weil nur ein eingebautes Kommando Bash-interne Variablen ändern kann (Beispiel »export«) | ||
# Weil ein Kommando wie »exec« nur innerhalb der Bash realisierbar ist | # Weil ein Kommando wie »exec« nur innerhalb der Bash realisierbar ist | ||
== Arten von builtin == | === Arten von builtin === | ||
== Was wird gestartet?== | === Was wird gestartet? === | ||
* type | * [[type]] | ||
* whereis | * [[whereis]] | ||
== Builtins ein- und ausschalten == | === Builtins ein- und ausschalten === | ||
== Ü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]] || Setzen bash-interner Variablen | ||
|- | |- | ||
| 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 | ||
|- | |- | ||
| [[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 | |||
|} | |} | ||
= | == Aufruf == | ||
== Dateien == | <syntaxhighlight lang="bash" highlight="1" line> | ||
== Man-Pages == | |||
== | </syntaxhighlight> | ||
== Weblinks == | === Optionen === | ||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
== Anwendung == | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
==== Dokumentation ==== | |||
===== Man-Page ===== | |||
===== Info-Pages ===== | |||
==== Links ==== | |||
===== Weblinks ===== | |||
[[Kategorie | [[Kategorie:Bash/Builtin]] | ||
</noinclude> |
Aktuelle Version vom 12. November 2024, 18:40 Uhr
Builtins - Kommandos, die von der Shell bereitgestellt werden
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 | |
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 |