Bash/Builtin

Aus Foxwiki

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

Übersicht

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 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

Links

Dateien

Man-Pages

Intern

Weblinks