In diesem Beispiel erstellen wir eine Bibliotheksdatei, in die wir unsere Funktionen einfügen, und eine andere, die diese Datei verwendet. Sie müssen sich daran erinnern, den absoluten Pfad zu verwenden.
Wir werden unsere Bibliotheksdatei für diese unsere Bibliotheksdatei erstellen, die sich an einem strategischen Ort für ihre Verwendung befindet. In / usr / local / bin heißt unsere Datei libraryBash.sh
Wir öffnen es oder erstellen es mit einem Texteditor wie Gedit oder wenn Sie ein Experte mit einem einfachen Befehlseditor wie nano oder vi sind. Im Inneren können wir den folgenden Code
#! / bin / bash # Bibliotheksdatei # Hier können Sie Variablen deklarieren, wenn Sie möchten. # Systemdatum und -uhrzeit anzeigen jetzt funktionieren Ortszeit Now lokale ret TimeNow = $ (Datum + "% d /% m /% Y% H:% M:% S.% s") ret = $? echo $ time Now } # Schalten Sie den Computer in x-Zeit aus Funktionsdrehung { Echo "Shutdown time (min):" Lesezeit sudo shutdown -h $ time } #Entwerfen Sie eine Anwendung. Sie wird als Parameter übergeben und erfordert einen Root-Benutzer Funktion desintalar { sudo apt-get entferne $ application } #Wenn dieser Scrot installiert ist, können wir Screenshots machen Funktionserfassungen { scrot -e 'mv $ f ~ / Images / scrot / `date +% d-% m-% y_% H:% M:% S`_capture.png' }
Wir deklarieren die lokalen Variablen für die Funktion, aber wir tun dies, wenn die im Namen übereinstimmenden Variablen von der Funktion betroffen sind und umgekehrt.
Sobald wir unsere Bibliotheksdatei fertig haben und nicht vergessen, dass sie Ausführungsattribute haben muss, werden wir unser Programm erstellen, das diese Bibliothek verwendet.
Sehen wir uns nun den Inhalt unserer Datei prueba2.sh an
#! / bin / bash # Datei test2.sh #Wir beziehen die Bibliotheken mit ein ./usr/local/bin/libreriaBash.sh mitiempo = $ (jetzt) echo "Beispiel für die Ausgabe einer Bibliotheksfunktion: $ mitiempo" Echo "Beispiel zwei Ausgabebibliotheksfunktion: $ (jetzt)"
Wir stellen außerdem fest, dass Funktionen verwendet werden können, ohne an eine Variable übergeben zu werden.
Denken Sie daran, dass es kaum einen Unterschied gibt, eine Bash aufzurufen, um sie in unser Programm aufzunehmen und eine Bash in einer anderen Bash auszuführen.
#! / bin / bash # Datei test2.sh #Wir beziehen die Bibliotheken mit ein /usr/local/bin/libreriaBash.sh
Was wir sagen ist, dass Sie die Datei ausführen
Jetzt können wir die Datei ./test2.sh ausführen
So können wir andere Skriptarchive erstellen und zuvor erstellten Bibliotheken Funktionen hinzufügen, beispielsweise können wir die Funktion zum Erfassen von Bildschirmen, die sich bereits in den Bibliotheken befinden, aus einer neuen Skriptdatei images.sh aufrufen
#! / bin / bash # Datei .sh #Wir beziehen die Bibliotheken mit ein ./usr/local/bin/libreriaBash.sh fangen
Die Optionen sind vielfältig, da ein weiteres Beispiel für ein Bash-Skript ein Mehrfach-Download ist, der jedoch als Textdatei-Parameter übergeben wird
#! / bin / bash ## Rufe wget an und lade herunter, was wir dir mit der Geschwindigkeit sagen, die wir sagen ## und in dem Ordner, den wir wollen klar echo "Sie können eine Textdatei eingeben" Echo "mit den Adressen wie folgt: '-i file.txt'" schlaf 2 echo -n "Geben Sie die Adresse zum Herunterladen ein:" Download lesen schlaf 1 echo "Das Ziel muss ein vorhandener Ordner auf Ihrem PC sein" echo -n "Zielordner eingeben:" Ziel lesen schlaf 1 echo "Geschwindigkeit ist in kb oder mb Bsp .: 50k 1m" Echo "oder geben Sie 0 (Null) für unbegrenzte" echo -n "Download-Geschwindigkeit eingeben:" Lesegeschwindigkeit schlaf 1 wget -c --limit-rate = $ speed -P $ destination $ download file = `basename $ download Stunde = $ (Datum +% H:% M:% S) echo "Finalisierter Download von $ file in $ destination um $ hour" ] Schlaf 3
Der Vorteil ist, dass wir mehrere Bibliotheken haben können, um mit Dateien, Verzeichnissen, Servern zu arbeiten, Programme zu installieren oder zu deinstallieren, Ressourcen zu überwachen oder sich wiederholende Aufgaben auszuführen, ohne den gesamten Code erneut eingeben zu müssen.