Ich möchte den Unterschied zwischen Aliasen und Funktionen in der Bash-Shell kennen - und wann welche verwendet werden sollen.
Da Funktionen Argumente annehmen können, sind sie offensichtlich viel leistungsfähiger. Da ich hauptsächlich mit einem Netbook unterwegs bin und Energie und Rechenleistung sparen möchte, möchte ich insbesondere etwas mehr über die Leistungsunterschiede erfahren Davon sind zwei Möglichkeiten zur Erweiterung der Bash-Funktionalität.
Antworten:
Stellen Sie sich Aliase als Spitznamen vor. Möglicherweise haben Sie einen Befehl, den Sie häufig ausführen, den Sie jedoch verkürzen möchten.
Beispielsweise möchten Sie häufig direkt in der Befehlszeile zum Desktop wechseln, damit Sie dies tun können
Von da an tippen Sie einfach
im Terminal und es wird das
cd ~/Desktop
für Sie durchführen.Funktionen enthält Logik. In einer Funktion können Sie mehrere verschiedene Programme aufrufen. Hier ist eine einfache Echofunktion
Während es einem Alias ähnlich erscheint, wenn Sie es aufrufen
In Ihrem e () können viele verschiedene Dinge passieren. Das Obige ist ein vereinfachtes Beispiel.
Aliase sollten für einfache Anwendungsfälle reserviert werden. Persönliches Beispiel - Ich habe meinen
rm
Befehl so ersetztImmer wenn ich einen RM mache, wird er in den Papierkorb verschoben, anstatt ihn von der Festplatte zu löschen. Dies trägt meiner Ungeschicklichkeit im Terminal Rechnung, wo ich (manchmal) versehentlich eine wichtige Datei löschen kann.
Funktionen , an die Sie sich erinnern müssen, sind logische Elemente. Normalerweise würden Sie keine eigenständige Funktion verwenden. Es wäre Teil eines größeren Skripts. Stellen Sie sich ein Skript vor, das alle Ihre Dateien aufnimmt und sie in ihre Schweinelateinversionen umbenennt. Ignorieren Sie, dass es verschiedene Möglichkeiten gibt.
Sie können jedoch jede Datei im Verzeichnis durchlaufen und den Dateipfad an Ihre RenameAsPigLatin-Funktion übergeben. Die RenameAsPigLatin-Funktion verfügt möglicherweise über eine zusätzliche Logik für Zahlen, bei der Sie entscheiden, dass Dateien, die mit Zahlen enden, nicht umbenannt werden sollen.
Sie können sofort den Vorteil einer Funktion erkennen. Die Funktion kann sich auf das Umbenennen nach Ihren seltsamen Regeln konzentrieren, während der Rest des Skripts nach Bedarf verschiedene Verzeichnisse durchlaufen kann.
quelle
Ein Alias ist eine einfache Verknüpfung, die in einer Konsole verwendet wird, um zu vermeiden, dass lange Befehle eingegeben oder immer dieselben Optionen wiederholt werden.
Ein klassisches Beispiel wäre:
Alias funktionieren nur in einer interaktiven Konsole. Sie sind nicht für die Verwendung in Skripten vorgesehen.
Funktionen können in Skripten oder in der Konsole verwendet werden, werden jedoch häufiger in Skripten verwendet.
Im Gegensatz zu Aliasen, die nur durch ihren Wert ersetzt werden, wird eine Funktion von der Bash-Shell interpretiert.
Funktionen sind viel leistungsfähiger als Aliase. Sie können zum Erstellen sehr komplexer Programme verwendet werden.
quelle