So schreiben und verwenden Sie benutzerdefinierte Shellfunktionen und Bibliotheken

So schreiben und verwenden Sie benutzerdefinierte Shellfunktionen und Bibliotheken

In Linux helfen uns Shell -Skripte auf so viele verschiedene Arten, einschließlich der Ausführung oder Automatisierung bestimmter Systemverwaltungsaufgaben, der Erstellung einfacher Befehlszeilen -Tools und vieler mehr.

In diesem Handbuch zeigen wir neue Linux -Benutzer, wo benutzerdefinierte Shell -Skripte zuverlässig gespeichert werden können. Erklären Sie, wie Sie benutzerdefinierte Shellfunktionen und Bibliotheken schreiben. Verwenden Sie Funktionen aus Bibliotheken in anderen Skripten.

Wo können Sie Shell -Skripte speichern

Um Ihre Skripte auszuführen, ohne einen vollständigen/absoluten Weg zu tippen, müssen sie in einem der Verzeichnisse in der Speicherung gespeichert werden $ Path Umgebungsvariable.

Um Ihre zu überprüfen $ Path, gibt den folgenden Befehl aus:

$ echo $ path /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/Games 

Normalerweise, wenn das Verzeichnis Behälter existiert in einem Benutzer -Heimverzeichnis, es ist automatisch in seinem/ihr enthalten $ Path. Sie können Ihre Shell -Skripte hier speichern.

Erstellen Sie daher die Behälter Verzeichnis (das auch speichern kann Perl, Awk oder Python Skripte oder andere Programme):

$ mkdir ~/bin 

Erstellen Sie als nächstes ein Verzeichnis namens namens lib (kurz für Bibliotheken), wo Sie Ihre eigenen Bibliotheken behalten. Sie können Bibliotheken auch für andere Sprachen wie C, Python usw. behalten. Erstellen Sie unter ihm ein anderes Verzeichnis namens namens Sch; Dies speichert besonders Ihre Shell -Bibliotheken:

$ mkdir -p ~/lib/sh 

Erstellen Sie Ihre eigenen Shell -Funktionen und Bibliotheken

A Schalenfunktion ist eine Gruppe von Befehlen, die eine spezielle Aufgabe in einem Skript ausführen. Sie funktionieren ähnlich wie Verfahren, Unterprogramme und Funktionen in anderen Programmiersprachen.

Die Syntax zum Schreiben einer Funktion ist:

function_name () Liste der Befehle 

Zum Beispiel können Sie eine Funktion in ein Skript schreiben, um die anzuzeigen Datum folgendermaßen:

showDate () Date; 

Jedes Mal, wenn Sie anzeigen möchten Datum, Rufen Sie einfach die Funktion oben unter Verwendung ihres Namens auf:

$ showdate 

A Shell Library ist einfach ein Shell -Skript. Sie können jedoch eine Bibliothek schreiben, um nur Ihre Funktionen zu speichern, die Sie später von anderen Shell -Skripten aufrufen können.

Unten finden Sie ein Beispiel für eine Bibliothek namens libmyfuncs.Sch in meinem ~/lib/sh Verzeichnis mit weiteren Beispielen für Funktionen:

#!/bin/bash #Function, um Verzeichnisse in PathshowPath () oldifs = "$ ifs" #Store Old Internal Field Separator Ifs =: #Specify ein neues internes Feldabscheider für DIR in $ path; Echo $ Dir; erledigte ifs = "$ oldifs" #restore Old Internal Field Separator #Function, um protokollierte Benutzer showusers () echo -e -e zu zeigen. Im Folgenden sind der Benutzer, der auf dem System angemeldet ist: \ n ”w #print die Details für die Details für PrintuserDets () ner Werte in Variablen verwenden: Als Feld -Abgrenzer -Lesen -r -Benutzername Pass UID GID Kommentare Homedir Shell <<< "$(cat /etc/passwd | grep "^$uname")" #print out captured values echo -e "Username is : $username\n" echo -e "User's ID : $uid\n" echo -e "User's GID : $gid\n" echo -e "User's Comments : $comments\n" echo -e "User's Home Dir : $homedir\n" echo -e "User's Shell : $shell\n" IFS="$oldifs" #store old internal field separator  

Speichern Sie die Datei und lassen Sie das Skript ausführbar.

So rufen Sie Funktionen aus einer Bibliothek auf

Um eine Funktion in a zu verwenden lib, Sie müssen zunächst die einschließen lib Im Shell -Skript, in dem die Funktion verwendet wird, wird in der folgenden Form verwendet:

$ ./Pfad/to/lib oder $ source/path/to/lib 

Sie würden also die Funktion verwenden Printuserdets aus der lib ~/lib/sh/libmyfuncs.Sch in einem anderen Skript wie unten gezeigt.

Sie müssen keinen anderen Code in dieses Skript schreiben, um die Details eines bestimmten Benutzers zu drucken. Rufen Sie einfach eine vorhandene Funktion auf.

Öffnen Sie eine neue Datei mit dem Namen prüfen.Sch:

#!/bin/bash #include lib . ~/lib/sh/libmyfuncs.SH #use -Funktion von lib printuserdets #exit script beenden 0 

Speichern Sie es, machen Sie das Skript ausführbar und führen Sie es aus:

$ chmod 755 Test.Sh $ ./prüfen.Sch 
Schreiben Sie Shell -Funktionen

In diesem Artikel haben wir Ihnen gezeigt, wo Sie zuverlässig Shell -Skripte speichern, wie Sie Ihre eigenen Shell -Funktionen und -Bibliotheken schreiben, Funktionen aus Bibliotheken in normalen Shell -Skripten aufrufen.

Als nächstes werden wir eine direkte Art der Konfiguration erklären Vim als an Ide zum Bash Scripting. Bis dahin bleiben Sie immer mit Tecmint in Verbindung und teilen Sie Ihre Gedanken zu diesem Leitfaden über das folgende Feedback -Formular mit.