Wie erstelle ich Aliase und Shell-Funktionen unter Linux?

Komm auch nach dem letzten Befehl:



Funktionsname () {Befehl1; Befehl2; }}

Lika-Aliase, Bash-Shell-Funktionen können in der Datei '.bashrc' definiert werden, aber es ist oft ordentlicher, sie in ihre eigene Definitionsdatei einzufügen. Wir nennen es '.bash_functions', gemäß der Konvention, die für die Datei '.bash_aliases' verwendet wird.

Das heißt, wir müssen die Datei '.bashrc' anweisen, unsere Definitionen einzulesen. Wir können den Codeausschnitt kopieren und ändern, der in der Datei '.bash_aliases' gelesen wird. Starten Sie gedit und laden Sie die Datei '.bashrc' mit folgendem Befehl:



gedit .bashrc

gedit .bashrc Datei



Sie müssen den unten gezeigten hervorgehobenen Abschnitt hinzufügen.



Sie können den Alias-Bereich markieren und Strg + C drücken. Gehen Sie dann zu der Stelle, an der Sie den neuen Abschnitt möchten, und drücken Sie Strg + V, um eine Kopie des Texts einzufügen. Dann müssen Sie nur noch die beiden Stellen ändern, an denen '.bash_aliases' steht, und '.bash_functions'.

Hinzufügen von bash_functions in der .bashrc-Datei

Wir können diese Änderungen speichern und gedit schließen.



Jetzt erstellen und bearbeiten wir die Datei '.bash_functions' und fügen eine Funktionsdefinition hinzu.

Berühren Sie .bash_functions gedit .bash_functions

Erstellen und Bearbeiten von .bash_functions

Dadurch wird die leere Datei '.bash_functions' in gedit geöffnet.

Wir werden eine einfache Funktion hinzufügen, die aufgerufen wird. up verwendet einen einzelnen Befehlszeilenparameter, bei dem es sich um eine Ziffer handelt. up ruft dann so oft cd auf. Also, wenn Sie den Befehl verwendet haben

bis 2

up würde cd .. zweimal aufrufen und zwei Ebenen im Verzeichnisbaum nach oben verschieben.

Es gibt verschiedene Möglichkeiten, eine Funktion zu definieren. Hier ist eins:

Funktion auf () {

Die Wortfunktion ist optional. Wenn Sie ein Traditionalist sind, verwenden Sie es. Wenn Sie sich nicht die Mühe machen müssen, es einzugeben, lassen Sie es weg.

Hier ist unsere gesamte Funktion in gedit:

Bearbeiten der Datei .bash_functions

Funktion auf () {

Dies markiert den Beginn unserer Funktionsdefinition und benennt die Funktion nach oben.

Ebenen = $ 1

Dadurch wird eine Variable namens aufgerufen Ebenen und setzt es auf den Wert des ersten Parameters. Dieser Parameter ist eine Ziffer, die der Benutzer beim Aufrufen der Funktion angibt. $ 1 bedeutet 'erster Befehlszeilenparameter'.

while ['$ Levels' -gt '0']; tun

Wir treten dann in eine Schleife ein, die dann als „wenn das“ übersetzt wird. Wert ' von ' Ebenen 'Ist positiv oder größer als Null, tun Sie, was im Körper der Schleife enthalten ist.'

Innerhalb des Schleifenkörpers haben wir zwei Befehle. Sie sind:

cd ..

Verschieben Sie eine Ebene im Verzeichnisbaum nach oben.

Ebenen = $ (($ Ebenen - 1))

Stellen Sie die Pegel auf einen neuen Wert ein, der um einen Wert unter dem aktuellen Wert liegt.

Wir kehren dann zum Anfang der Schleife zurück, und der Vergleich zwischen dem Wert der Ebenen und Null wird noch einmal durchgeführt. Wenn 'Ebenen' größer als Null ist, wird der Hauptteil der Schleife erneut ausgeführt. Wenn es nicht positiv oder größer als Null ist, ist die Schleife beendet und wir gehen zur Anweisung done durch, und die Funktion ist beendet.

sparen diese Änderungen und schließen gedit .

Wir werden die Befehle in '.bashrc' einlesen und ausführen, die die Befehle in unserer Datei '.bash_functions' einlesen und ausführen sollen.

. .bashrc

Rufen Sie ..bashrc an

Wir können die Funktion testen, indem wir an eine Stelle im Verzeichnisbaum gehen und mit up zu einem „höheren“ Punkt im Verzeichnisbaum zurückkehren.

cd ./work/backup/ up 2

Funktion auf

Die Funktion funktioniert. Wir haben zwei Verzeichnisebenen höher im Baum verschoben.

Mit Typ den Überblick behalten

Wenn Sie eine Suite von Aliasen und eine Bibliothek von Funktionen erstellen, kann es schwierig werden, sich zu merken, ob ein bestimmter Befehl ein Alias ​​oder eine Funktion ist. Du kannst den ... benutzen ' Art' Befehl, um Sie daran zu erinnern. Das Coole hier ist, dass man auch die Definition sieht.

Verwenden wir type für unsere FTC Alias ​​und unsere Up-Funktion.

Typ ftc Typ up

Verwendung des Typs

Wir erhalten eine sehr nützliche Erinnerung daran, um welche Art von Befehl es sich handelt, zusammen mit ihren Definitionen.

Sammeln Sie

Aliase und Funktionen können die Verwendung der Befehlszeile erheblich beschleunigen. Sie können Befehlssequenzen verkürzen und Sie können die Optionen einbinden, die Sie immer mit Standardbefehlen verwenden. Jedes Mal, wenn Sie eine raffinierte Einzeiler- oder nützliche Funktion sehen, können Sie sie anpassen und personalisieren und sie dann Ihren Dateien '.bash_aliases' oder '.bash_functions' hinzufügen. Durch die umfassende Verwendung dieser Funktionen können Sie Ihre Zeit in der Shell angenehmer und weniger komplex gestalten.

Denken Sie daran, vorhandene Befehle nicht mit potenziell destruktivem Verhalten neu zu definieren. Selbst wenn Sie das Gegenteil tun und einen Befehl an eine sicherere Variante aliasen (z. B. immer um Bestätigung bitten, bevor Sie ihn rekursiv löschen), können Sie zurückkommen, wenn Sie sich zum ersten Mal auf einem System ohne ihn befinden, sobald Sie sich darauf verlassen . Um Kandidaten zu finden, für die Aliase erstellt werden können, ist es möglicherweise eine gute Idee, Ihren Verlauf nach den am häufigsten verwendeten Befehlen zu durchsuchen.

12 Minuten gelesen