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

Was sind Shell-Skripte? Wie erstelle ich Shell-Skripte?

Was ist eine Muschel?

Eine Shell ist ein Programm, das eine Schnittstelle zwischen einem Benutzer und einem Kernel eines Betriebssystems (OS) bereitstellt. Ein Betriebssystem startet eine Shell für jeden Benutzer, wenn sich der Benutzer anmeldet oder ein Terminal- oder Konsolenfenster öffnet.

Was ist ein Shell-Skript?

Ein Shell-Skript ist eine Datei, die Shell- und UNIX-Befehle enthält. Ähnlich wie kompilierte ausführbare Programme hat das Shell-Skript einen bestimmten Zweck und ist wiederverwendbar. Wenn die Befehle im Shell-Skript geordnet und fehlerfrei sind, können Sie das Shell-Skript ausführen, um die Aufgaben effizient auszuführen.

Alle Skripte, Programme und Prozeduren verwenden die folgenden Regeln:

  • Sie sollten ohne Fehler ausgeführt werden.
  • Sie führen die Aufgabe aus, für die sie bestimmt sind.
  • Sie stellen sicher, dass die Programmlogik klar definiert oder ersichtlich ist.
  • Sie sollten keine unnötige Arbeit beinhalten.

Erstellen von Shell-Skripten

Ein Shell-Skript ist eine Textdatei, die eine Folge von UNIX-Befehlen enthält. Das Shell-Skript ist oft eine Befehlsfolge, für die Sie eine wiederholte Verwendung haben. Normalerweise führen Sie die Befehlsfolge im Shell-Skript aus, indem Sie den Namen des Shell-Skripts in der Befehlszeile eingeben.

Um ein Shell-Skript zu erstellen, erstellen Sie eine Datei und fügen Sie darin UNIX-Befehle ein. Zu den UNIX-Befehlen gehören Standarddienstprogramme, Benutzerprogramme und die Namen anderer Skripts, die Sie zum Ausführen Ihrer Aufgabe benötigen.

Hinweis – Wenn Sie die Namen anderer Skripts in Ihr Skript einfügen, vergewissern Sie sich, dass sie Lese- und Ausführungsberechtigungen haben, damit sie ausgeführt werden.

Eine Skriptdatei kann einen beliebigen Namen haben, der den Konventionen regulärer Dateinamen in der Betriebssystemumgebung folgt. Wenn Sie Ihre Shell-Programme benennen, sollten Sie vermeiden, Namen zu verwenden, die mit bestehenden UNIX-Befehlen oder Shell-Funktionen in Konflikt stehen.

Das folgende Beispielskript verwendet den echo-Befehl, um den Benutzer über die zu erwartende Ausgabe zu informieren, bevor der eigentliche Befehl aufgerufen wird, der die Ausgabe erzeugt. Beim Schreiben von Skripten empfiehlt es sich, Benutzer darüber zu informieren, was passiert, damit sie eine Vorstellung davon haben, ob das Skript korrekt ausgeführt wird.

# vi my_script.sh
#!/bin/sh
clear
echo "SCRIPT BEGINS"
echo "Hello $LOGNAME!"

Ausführen eines Shell-Skripts

Um ein Shell-Skript wie andere Befehle auf dem System auszuführen, weisen Sie ihm zunächst mit dem Befehl chmod die Ausführungsberechtigung zu; zum Beispiel:

# chmod +x my_script.sh

Dies ist die bevorzugte und gebräuchlichste Methode zum Ausführen eines Shell-Skripts. Eine Subshell wird erstellt, um das angegebene Skript auszuführen. Erteilen Sie die Ausführungsberechtigung nur Benutzern, die das Skript ausführen müssen.

Wenn ein Skript in einer Subshell ausgeführt wird, sind die im Skript erstellten und verwendeten Variablen, Aliase und Funktionen nur in der Subshell bekannt. Nachdem das Skript beendet ist und die Kontrolle an die übergeordnete Shell zurückgekehrt ist, sind die Variablen, Funktionen und anderen Änderungen am Zustand der Shell, die durch das Skript vorgenommen wurden, nicht mehr bekannt.

Das folgende Beispiel führt das Skript in der aktuellen Shell aus:

# . ./my_script.sh

Das folgende Beispiel zeigt die Ausführung eines Skripts mit Debugging:

# sh -x my_script.sh

Lassen Sie uns das Skript ausführen, das wir im obigen Abschnitt erstellt haben, und sehen, ob es das richtige Ergebnis ausgibt.

sh my_script.sh
SCRIPT BEGINS
Hello root!

Starten eines Skripts mit dem #! Zeichen

Wenn Sie ein Skript mit Ausführungsberechtigung ausführen, indem Sie den Skriptnamen in der Befehlszeile eingeben, sollten Sie die Subshell (sh, csh, ksh, bash oder andere Subshells) kennen, die das Skript ausführen wird.

Die erste Zeile des Skripts bestimmt die Shell, die als Interpreter des Skripts erstellt wird. Die ersten beiden Zeichen in der ersten Zeile eines Skripts sind #!. Die aktuelle Shell interpretiert Folgendes als Pfadnamen für die Subshell zum Ausführen des Skripts.

Hinweis – „Die ersten beiden Zeichen der ersten Zeile“ bedeutet, dass vor diesen Zeichen keine Leerzeilen oder Leerzeichen stehen dürfen.

In den folgenden Beispielen wird die angegebene Shell als Subshell zum Ausführen des Skripts geforkt.

#!/bin/sh 
#!/bin/csh 
#!/bin/ksh

Kommentare in ein Skript einfügen

Die Personen, die Drehbücher schreiben, sind normalerweise nicht die einzigen Personen, die sie lesen. Viele Personen führen Skripte aus, die von anderen geschrieben wurden. Wenn sie den Inhalt der Skriptdatei ansehen, um zu sehen, was das Skript tut, ist es hilfreich, wenn der Autor des Skripts einige Erklärungen in Kommentare einfügt.

Es hat sich bewährt, Kommentare in Programme und Shell-Skripte einzufügen. Die Kommentare sollten den Zweck des Skripts erklären und alle spezifischen Zeilen erklären, die besonders verwirrend sein könnten.

Das unten gezeigte Beispielskript my_script.sh hat am Anfang des Skripts einen Kommentar, der erklärt, was das Skript macht, wenn es ausgeführt wird.

# cat my_script.sh
#!/bin/sh

# This script clears the window, greets the user.

clear
echo "SCRIPT BEGINS"

echo "Hello $LOGNAME!"

Das Hinzufügen von Kommentaren wirkt sich nicht auf die Ausführung des Skripts aus, es sei denn, beim Hinzufügen der Kommentare wird ein syntaktischer Fehler eingeführt. Die Kommentare dienen Dokumentationszwecken, sodass jemand, der das Skript liest, eine Vorstellung davon hat, was passieren wird, wenn das Skript ausgeführt wird.

Kommentare sind manchmal die ersten Zeilen, die in ein Shell-Skript eingegeben werden. Die Kommentare können die Schritt-für-Schritt-Operationen auflisten, die stattfinden müssen. Folgen Sie jeder Kommentarzeile den Befehlen des Betriebssystems, um die Operation auszuführen.

UNIX / Linux:Was ist eine Shell? Was sind verschiedene Shells?
So debuggen Sie Shell-Skripte


Linux
  1. Wie erstelle ich eine temporäre Datei im Shell-Skript?

  2. Passwort in Shell-Skripten verstecken?

  3. So führen Sie Python-Skripte von der Shell aus

  4. Wie erstelle ich eine Crontab über ein Skript

  5. So führen Sie ein Shell-Skript beim Start aus

So schreiben Sie ein Shell-Skript in Ubuntu

Was ist Shebang in Linux Shell Scripting?

Wie verwende ich if-else in Shell-Skripten?

Wie führe ich einen Befehl in einem Shell-Skript aus?

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus

Wie erstelle ich ein Konfigurationsskript?