Bash/Builtin: Unterschied zwischen den Versionen

Aus Foxwiki
KKeine Bearbeitungszusammenfassung
Zeile 23: Zeile 23:
== Weblinks ==
== Weblinks ==


{| class="wikitable sortable"
|-
! Befehl !! Beschreibung !! Link
|-
| Null || || [[Linux:Shell:Bash:Builtin:null]]
|-
| source || || [[Linux:Shell:Bash:Builtin:source]]
|-
| alias || Definition einer Abkürzung für ein Kommando || [[Linux:Shell:Bash:Builtin:alias]]
|-
| jobs || Listet die Jobnummern aller Hintergrundprozesse auf.|| [[Linux:Shell:Bash:Builtin:jobs]]
|-
| bind || || [[Linux:Shell:Bash:Builtin:bind]]
|-
| break || || [[Linux:Shell:Bash:Builtin:break]]
|-
| cd || || [[Linux:Shell:Bash:Builtin:cd |Verzeichnis wechseln]]
|-
| command || || [[Linux:Shell:Bash:Builtin:command]]
|-
| compgen || || [[Linux:Shell:Bash:Builtin:compgen]]
|-
| complete || Mit diesem Kommando kann das ganze Verhalten der Bash bei der Vervollständigung von Argumenten verändert werden|| [[Linux:Shell:Bash:Builtin:complete]]
|-
| continue || || [[Linux:Shell:Bash:Builtin:continue]]
|-
| declare || Deklarieren von Variablen|| [[Linux:Shell:Bash:Builtin:declare]]
|-
| dirs || Anzeige des Verzeichnisstacks|| [[Linux:Shell:Bash:Builtin:dirs]]
|-
| disown || || [[Linux:Shell:Bash:Builtin:disown]]
|-
| echo || Eine Zeile Text anzeigen|| [[Linux:Shell:Bash:Builtin:echo]] [[Linux:Befehl:echo]]
|-
| enable || Eingebauten Kommandos der Shell aktivieren|| [[Linux:Shell:Bash:Builtin:enable]]
|-
| eval || Liest seine Argumente, wobei die üblichen Ersetzungen stattfinden, und führt die resultierende Zeichenkette als Kommando aus. || [[Linux:Shell:Bash:Builtin:eval]]
|-
| exec || Das Kommando besitzt zwei Bedeutungen. || [[Linux:Shell:Bash:Builtin:exec]]
|-
| exit || Beendet die Shell|| [[Linux:Shell:Bash:Builtin:exit]]
|-
| export || Exportieren von Variablen|| [[Linux:Shell:Bash:Builtin:export]]
|-
| fc || Manipulation der History-Einträge|| [[Linux:Shell:Bash:Builtin:fc]]
|-
| fg || holt einen Hintergrundprozess in den Vordergrund|| [[Linux:Shell:Bash:Builtin:fg]]
|-
| getopts || || [[Linux:Shell:Bash:Builtin:getopts]]
|-
| hash || || [[Linux:Shell:Bash:Builtin:hash]]
|-
| help || Schreibt einen kurzen Hilfetext zu einem eingebauten Kommando aus. ||
|-
| history || Das Kommando dient zur Anzeige oder Manipulation des Kommandozeilenspeichers. || [[Linux:Shell:Bash:Builtin:history]]
|-
| kill || Das Kommando dient der Steuerung bereits laufender Prozesse, indem es an diese Signale versendet. || [[Linux:Shell:Bash:Builtin:kill]]
|-
| let || Für jedes Argument wird eine arithmetische Substitution versucht. || [[Linux:Shell:Bash:Builtin:let]]
|-
| local || Definition lokaler Variablen|| [[Linux:Shell:Bash:Builtin:local]]
|-
| 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. || [[Linux:Shell:Bash:Builtin:popd]]
|-
| printf || || [[Linux:Shell:Bash:Builtin:printf]]
|-
| pushd || Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird. || [[Linux:Shell:Bash:Builtin:pushd]]
|-
| pwd || Gibt das aktuelle Arbeitsverzeichnis aus. || [[Linux:Shell:Bash:Builtin:pwd]]
|-
| read || || [[Linux:Shell:Bash:Builtin:read]]
|-
| readonly || Variablen und Funktionen lassen sich nachträglich als »nicht änderbar« deklarieren. || [[Linux:Shell:Bash:Builtin:readonly]]
|-
| return || Rücksprung aus einer Funktion. || [[Linux:Shell:Bash:Builtin:return]]
|-
| set || [[Linux:Shell:Bash:Builtin:set || set dient zum Setzen bash-interner Variablen]]
|-
| shift || Verschieben der Positionsparameter || [[Linux:Shell:Bash:Builtin:shift]]
|-
| 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 || test liefert in Abhängigkeit vom Wahrheitswert des Ausdrucks 0 (wahr) oder 1 (falsch) zurück und ist damit ein wichtiger Bestandteil vieler Shellskripten. || [[Linux:Shell:Bash:Builtin:test]]
|-
| times || Misst die Zeit für die Shell und der von dieser gestarteten Kommandos. || [[Linux:Shell:Bash:Builtin:times]]
|-
| trap || || [[Linux:Shell:Bash:Builtin:trap]]
|-
| type || || [[Linux:Shell:Bash:Builtin:type]]
|-
| typeset || || declare
|-
| ulimit || || [[Linux:Shell:Bash:Builtin:ulimit]]
|-
| umask || Setzt die Rechtemaske für neu erzeugte Dateien oder Verzeichnisse bzw. zeigt die Rechte an. || [[Linux:Shell:Bash:Builtin:umask]]
|-
| unalias || Löscht den angegebenen Alias bzw. mit der Option -a alle Aliasse. ||
|-
| unset || Dient zum Löschen einer Variable oder Funktion. ||
|-
| wait || Dient zum Warten auf einen oder alle Hintergrundprozesse. || [[Linux:Shell:Bash:Builtin:wait]]
|}
[[Kategorie:Linux:Shell:Bash]]
[[Kategorie:Linux:Shell:Bash]]

Version vom 25. Februar 2022, 12:43 Uhr

Beschreibung

Es gibt eine Fülle solcher eingebauter Kommandos und mindestens 4 Gründe, warum solche in der Bash überhaupt existieren:

  1. Weil es ein solches Kommando in Unix nicht gibt (Beispiel "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

Betrachten wir die einzelnen builtin-Kommandos

  • Etliche der besprochenen Shell-Kommandos starten nicht, wie sonst üblich, einen eigenen Prozess, sondern sie werden direkt von der Shell interpretiert und ausgeführt.
  • Teilweise ist keine E/A-Umleitung möglich.
  • Zum Teil gibt es interne und externe Versionen, z. B. 'echo' (intern) und '/bin/echo' (extern).

Arten von builtin

Was wird gestartet?

type
whereis

Links

Dateien

Man-Pages

Intern

Weblinks