Bash/Builtin: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
'''Builtins''' werden die in der Bash eingebauten Befehle genannt | |||
= Beschreibung = | = Beschreibung = | ||
Gründe, warum solche in der Bash überhaupt existieren | |||
# Weil es ein solches Kommando in Unix nicht gibt (Beispiel "source") | # Weil es ein solches Kommando in Unix nicht gibt (Beispiel "source") | ||
# Weil ein builtin Kommando effizienter arbeitet als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel »echo«) | # Weil ein builtin Kommando effizienter arbeitet als ein externes Kommando (keine Prozesserzeugung notwendig; Beispiel »echo«) | ||
Zeile 6: | Zeile 8: | ||
# Weil ein Kommando wie »exec« nur innerhalb der Bash realisierbar ist | # Weil ein Kommando wie »exec« nur innerhalb der Bash realisierbar ist | ||
'''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. | * 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. | * Teilweise ist keine E/A-Umleitung möglich. |
Version vom 25. Februar 2022, 11:54 Uhr
Builtins werden die in der Bash eingebauten Befehle genannt
Beschreibung
Gründe, warum solche in der Bash überhaupt existieren
- Weil es ein solches Kommando in Unix nicht gibt (Beispiel "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
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
Builtins ein- und ausschalten
Ü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 | Linux:Shell:Bash:Builtin:cd |
command | Linux:Shell:Bash:Builtin:command | |
compgen | Linux:Shell:Bash:Builtin:compgen | |
complete | Verhalten der Bash bei der Vervollständigung steuern | 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 | Kommandozeilenspeicher anzeigen | Linux:Shell:Bash:Builtin:history |
kill | Signale an Prozesse senden | 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 |