Bash/Builtin: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Kategorie:Bash/Built-in nach Kategorie:Bash/Builtins
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Builtins''' (eingebaute Befehle) sind Kommandos, die von der Shell bereitgestellt werden
'''Builtins''' - Kommandos, die von der Shell bereitgestellt werden


= Beschreibung =
== Beschreibung ==
* keinen eigenen Prozess  
; Kommandos, die von der Shell bereitgestellt werden
* von der Shell interpretiert und ausgeführt
* Eingebaute Befehle (Builtins)
* Manchmal gibt es eine eingebaute und eine externe Version
* Kein eigener Prozess
** 'echo' (intern) und '/bin/echo' (extern)
* 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 ''source''  
#* 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 =
== Übersicht ==
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Zeile 32: Zeile 36:
| [[source]] ||
| [[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
Zeile 40: Zeile 44:
| [[break]] ||
| [[break]] ||
|-
|-
| [[cd]] || Verzeichnis wechseln  
| [[cd]] || Verzeichnis wechseln
|-
|-
| [[command]] ||
| [[command]] ||
Zeile 60: Zeile 64:
| [[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
Zeile 78: Zeile 82:
| [[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
Zeile 88: Zeile 92:
| [[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]] ||
| [[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]] ||
| [[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
Zeile 110: Zeile 114:
| [[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
| [[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]] ||
| [[trap]] ||
Zeile 120: Zeile 124:
| [[type]] ||
| [[type]] ||
|-
|-
| [[typeset]] || declare  
| [[typeset]] || declare
|-
|-
| [[ulimit]] ||
| [[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
|}
|}


= Links =
== Aufruf ==
== Dateien ==
<syntaxhighlight lang="bash" highlight="1" line>
== Man-Pages ==
 
== Intern ==
</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:Bash]]
[[Kategorie:Bash/Builtin]]
[[Kategorie:Linux/Befehl]]
</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

  1. Befehl nicht als Unix-Kommando verfügbar
    • Beispielsweise source
  2. Weil ein builtin Kommando effizienter arbeitet
    • als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel »echo«)
  3. Weil nur ein eingebautes Kommando Bash-interne Variablen ändern kann (Beispiel »export«)
  4. 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

Aufruf

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Weblinks