GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Shell-Scripting Teil I:Erste Schritte mit Bash-Scripting

Hallo. Dies ist der erste Teil einer Reihe von Linux-Tutorials. Beim Schreiben dieses Tutorials gehe ich davon aus, dass Sie ein absoluter Anfänger in der Erstellung von Linux-Skripten sind und sehr lernwillig sind. Während der Serie wird das Niveau steigen, also bin ich sicher, dass es auch für fortgeschrittene Benutzer etwas Neues geben wird. Fangen wir also an.

Einführung

Die meisten unserer Betriebssysteme, einschließlich Linux, können verschiedene Benutzeroberflächen (UI) unterstützen. Die grafische Benutzeroberfläche (GUI) ist eine benutzerfreundliche Desktop-Oberfläche, die es Benutzern ermöglicht, auf Symbole zu klicken, um eine Anwendung auszuführen. Die andere Art von Schnittstelle ist die Befehlszeilenschnittstelle (CLI), die rein textuell ist und Befehle vom Benutzer akzeptiert. Eine Shell, der Befehlsinterpreter, liest den Befehl über die CLI und ruft das Programm auf. Die meisten Betriebssysteme bieten heutzutage beide Schnittstellen an, einschließlich Linux-Distributionen.

Bei Verwendung der Shell muss der Benutzer eine Reihe von Befehlen am Terminal eingeben. Kein Problem, wenn der Benutzer die Aufgabe nur einmal erledigen muss. Wenn die Aufgabe jedoch komplex ist und mehrmals wiederholt werden muss, kann es für den Benutzer etwas mühsam werden. Glücklicherweise gibt es eine Möglichkeit, die Aufgaben der Shell zu automatisieren. Dies kann durch Schreiben und Ausführen von Shell-Skripten erfolgen. Ein Shell-Skript ist ein Dateityp, der aus einer Reihe und Folge von Befehlen besteht, die von der Linux-Shell unterstützt werden.

Warum Shell-Skripte erstellen?

Das Shell-Skript ist ein sehr nützliches Werkzeug zur Automatisierung von Aufgaben in Linux-Betriebssystemen. Es kann auch verwendet werden, um Dienstprogramme zu kombinieren und neue Befehle zu erstellen. Sie können lange und sich wiederholende Befehlsfolgen zu einem einfachen Befehl kombinieren. Alle Skripte können ausgeführt werden, ohne dass sie kompiliert werden müssen, sodass der Benutzer eine Möglichkeit hat, Befehle nahtlos zu prototypisieren.

Ich bin neu in der Linux-Umgebung, kann ich trotzdem lernen, wie man erstellt Shell-Skripte?

Natürlich! Das Erstellen von Shell-Skripten erfordert keine komplexen Linux-Kenntnisse. Grundlegende Kenntnisse der gängigen Befehle in der Linux-CLI und eines Texteditors reichen aus. Wenn Sie ein absoluter Anfänger sind und kein Hintergrundwissen in Linux Command Line haben, finden Sie dieses Tutorial vielleicht hilfreich.

Erstelle mein erstes Shell-Skript

Die bash (Bourne-Again-Shell) ist die Standard-Shell in den meisten Linux-Distributionen und OS X. Es ist ein Open-Source-GNU-Projekt, das die sh (Bourne-Shell), die ursprüngliche Unix-Shell, ersetzen sollte. Es wurde von Brian Fox entwickelt und 1989 veröffentlicht.

Sie müssen immer daran denken, dass jedes Linux-Skript, das Bash verwendet, mit der folgenden Zeile beginnt:

#!/bin/bash

Jedes Linux-Skript beginnt mit einer Shebang-Zeile (#!). Die Bang-Zeile gibt den vollständigen Pfad /bin/bash des Befehlsinterpreters an, der zum Ausführen des Skripts verwendet wird.

Hallo Welt!

Jede Programmiersprache beginnt mit dem Hello World! Anzeige. Wir werden diese Tradition nicht beenden und unsere eigene Version dieser Dummy-Ausgabe in Linux-Scripting erstellen.

Führen Sie die folgenden Schritte aus, um mit der Erstellung unseres Skripts zu beginnen:

Schritt 1: Öffnen Sie einen Texteditor. Ich werde gedit für dieses Beispiel verwenden. Um gedit über das Terminal zu öffnen, drücken Sie STRG + ALT + T auf Ihrer Tastatur und geben Sie gedit ein. Jetzt können wir mit dem Schreiben unseres Skripts beginnen.

Schritt 2: Geben Sie im Texteditor den folgenden Befehl ein:

#!/bin/bash 
echo "Hello World"

Schritt 3: Speichern Sie nun das Dokument unter dem Dateinamen hello.sh. Beachten Sie, dass jedes Skript eine .sh-Dateierweiterung hat.

Schritt 4: Aus Sicherheitsgründen, die von Linux-Distributionen erzwungen werden, sind Dateien und Skripte standardmäßig nicht ausführbar. Wir können dies jedoch für unser Skript mit dem Befehl chmod in der Linux-CLI ändern. Schließen Sie die Gedit-Anwendung und öffnen Sie ein Terminal. Geben Sie nun den folgenden Befehl ein:

chmod +x hello.sh

Die obige Zeile legt die Ausführungsberechtigung für die Datei hello.sh fest. Dieser Vorgang muss nur einmal durchgeführt werden, bevor das Skript zum ersten Mal ausgeführt wird.

Schritt 5: Um das Skript auszuführen, geben Sie den folgenden Befehl am Terminal ein:

./hello.sh

Lassen Sie uns ein anderes Beispiel haben. Dieses Mal werden wir die Anzeige einiger Systeminformationen einbauen, indem wir die whoami- und date-Befehle in unser Hello-Skript verwenden.

Öffnen Sie hello.sh in unserem Texteditor und wir bearbeiten unser Skript, indem Sie Folgendes eingeben:

#!/bin/bash
echo "Hello $(whoami) !"
echo "The date today is $(date)"

Speichern Sie die Änderungen, die wir im Skript vorgenommen haben, und führen Sie das Skript aus (Schritt 5 im vorherigen Beispiel), indem Sie Folgendes eingeben:

./hello.sh

Die Ausgabe des Skripts lautet:

Im vorherigen Beispiel wurden die Befehle whoami und date innerhalb des echo-Befehls verwendet. Dies bedeutet lediglich, dass alle Dienstprogramme und Befehle, die in der Befehlszeile verfügbar sind, auch in Shell-Skripten verwendet werden können.

Ausgabe mit printf generieren

Bisher haben wir echo verwendet, um Zeichenfolgen und Daten aus Befehlen in unserem vorherigen Beispiel auszugeben. Echo wird verwendet, um eine Textzeile anzuzeigen. Ein weiterer Befehl, der zum Anzeigen von Daten verwendet werden kann, ist der Befehl printf. printf steuert und druckt Daten wie die printf-Funktion in C.

Nachfolgend finden Sie eine Zusammenfassung der üblichen prinf-Steuerelemente:

Steuerung Nutzung
\" Doppeltes Anführungszeichen
\\ Backslash
\b Rücktaste
\c Keine weitere Ausgabe erzeugen
\e Flucht
\n Neue Zeile
\r Wagenrücklauf
\t Horizontaler Reiter
\v Vertikaler Tab

Beispiel 3:Wir öffnen die vorherige hello.sh und ändern alle Echos in printf und führen das Skript erneut aus. Beachten Sie, welche Änderungen in unserer Ausgabe auftreten.

#!/bin/bash
printf "Hello $(whoami) !"
printf "The date today is $(date)"

Alle Zeilen sind miteinander verbunden, da wir im printf-Befehl keine Steuerelemente verwendet haben. Daher hat der printf-Befehl unter Linux dieselben Eigenschaften wie die C-Funktion printf.

Um die Ausgabe unseres Skripts zu formatieren, verwenden wir zwei der Steuerelemente in der obigen Tabellenzusammenfassung. Um zu funktionieren, müssen die Steuerelemente durch ein \ innerhalb der Anführungszeichen des printf-Befehls gekennzeichnet werden. Zum Beispiel bearbeiten wir den vorherigen Inhalt von hello.sh in:

#!/bin/bash
printf "Hello \t $(whoami) !\n"
printf "The date today is $(date)\n"

Das Skript gibt Folgendes aus:

Schlussfolgerung

In diesem Lernprogramm haben Sie die Grundlagen des Shell-Scriptings erlernt und konnten Shell-Scripts erstellen und ausführen. Im zweiten Teil des Tutorials werde ich vorstellen, wie man Variablen deklariert, Eingaben akzeptiert und arithmetische Operationen mit Shell-Befehlen durchführt.


Linux
  1. Erste Schritte mit Linux-Firewalls

  2. Erste Schritte mit Zsh

  3. Erste Schritte mit PostgreSQL unter Linux

  4. Wie parse ich Json mit Shell-Scripting in Linux?

  5. Erste Schritte mit SSH unter Linux

Erste Schritte mit dem Linux-Betriebssystem

Vagrant-Tutorial – Erste Schritte mit Vagrant unter Linux

Erste Schritte mit VirtualBox unter Linux – Teil 1

Erste Schritte mit Flutter auf dem Linux-Desktop

Was ist Shebang in Linux Shell Scripting?

Bash Scripting Einführungstutorial mit 5 praktischen Beispielen