Was ist der Unterschied zwischen integrierten Shell-Funktionen und Shell-Tastaturkürzeln?

Was ist der Unterschied zwischen integrierten Shell-Funktionen und Shell-Tastaturkürzeln?

Was ist der Unterschied zwischen Shell-Builtins (wie cdoder echo) und Shell-Tastaturkürzeln (wie ctrl+uoder ctrl+l)?

Beides scheint mir „eingebaut“ zu sein. Was ist der Hauptunterschied hinsichtlich der Systemarchitektur?

Ich persönlich verwende Bash, aber ich glaube, dass diese Frage auch für viele andere shShells relevant ist.

Antwort1

Die meisten Builtins ändern den Status/das Verhalten der Shell („dauerhaft“) echound printfsind Ausnahmen.

^Uund ^Lsind Tastenkombinationen. Sie übernehmen lediglich die Bearbeitung der Eingabezeile. Sie könnten dasselbe auch ohne diese Funktionen tun. Sie sparen lediglich Zeit. Nach der Ausführung eines Befehls macht es keinen Unterschied, ob zuvor eine Tastenkombinationsfunktion verwendet wurde.

Der vielleicht offensichtlichste Unterschied ist, dass Tastenkombinationen kein Befehl sind, den Sie von der Kommandozeile aus ausführen können. Sie benötigen ein integriertes ( bind), um sie zu konfigurieren (Shell „Statusänderung“).

verwandte Informationen