Wie man ein einfaches Shell-Skript schreibt
Lernen Sie, wie man ein einfaches Bash-Shell-Skript schreibt. Obwohl Shell-Skripte lange, komplizierte Skripte sein können, die komplexe Aufgaben ausführen, können Sie auch lernen, wie man ein einfaches Shell-Skript in 10 Minuten schreibt. Wenn Sie Befehle auf der Befehlszeile ausführen können, ist es einfach zu lernen, wie man ein einfaches Bash-Skript schreibt.
Anforderungen
- Ein Cloud Server unter Linux
- Eine grundlegende Vertrautheit mit der Befehlszeile
- Automatisch: Backups und Recovery
- Intuitiv: Planung und Management
- Intelligent: KI-basierter Bedrohungsschutz
- Inkl. 300,- € Startguthaben im 1. Monat
Erstellen der Datei
Gehen Sie in Ihr Home-Verzeichnis:
cdbashDie Verwendung von CD ohne Argumente führt Sie automatisch in Ihr Home-Verzeichnis.
Erstellen Sie ein Verzeichnis für Testskripte:
mkdir myscriptsbashIn dieses Verzeichnis wechseln:
cd myscriptsbashIn dieses Verzeichnis wechseln:
nano hellobashDie erste Zeile eines Shell-Skripts muss #! sein, gefolgt von dem Pfad zur Shell, die Sie für das Skript verwenden möchten.
Da wir dieses Skript für die Bash-Shell schreiben werden, wird die erste Zeile der Datei sein:
#!/bin/bashbashDie erste Zeile eines Shell-Skripts muss #! sein, gefolgt von dem Pfad zur Shell, die Sie für das Skript verwenden möchten.
Da wir dieses Skript für die Bash-Shell schreiben werden, wird die erste Zeile der Datei sein:
# A test scriptbashFügen Sie die Befehle hinzu und machen Sie sie ausführbar
Jeder Befehl, den Sie von der Befehlszeile aus ausführen, können Sie in ein Shell-Skript eingeben. Dies ist praktisch für:
- Befehle, die Sie häufig verwenden.
- Lange Befehle, insbesondere solche, die viele Flags verwenden.
- Befehle, die der Server automatisch als cron job.
- Befehle, an die man sich nie ganz erinnern kann und die man jedes Mal nachschlagen muss.
Für dieses Beispiel verwenden wir einen Befehl, der die Worte “Hello world” auf der Kommandozeile wiedergibt. Füge folgendes in die Datei ein:
echo "Hello world"bashSpeichern und beenden Sie die Datei.
Das Skript muss ausführbar sein, damit es ausgeführt werden kann. Geben Sie dem Skript ausführbare Berechtigungen mit dem Befehl:
chmod 755 hellobashAusführen des Skripts
Um das Skript auszuführen, rufen Sie es einfach über seinen Dateipfad auf. Da Sie sich im selben Verzeichnis wie das Skript befinden, können Sie es von hier aus ausführen, indem Sie es eingeben:
./hellobashSie können das Skript von überall auf dem Server ausführen, indem Sie den vollständigen Dateipfad eingeben:
/home/[your username]/myscripts/hellobashFüge das Skript zu deinem PFAD hinzu.
Im Gegensatz zu Ihrem Shell-Skript erfordern die meisten Linux-Befehle nicht, dass Sie den vollständigen Dateipfad jedes Mal eingeben, wenn Sie sie ausführen möchten. Dies liegt daran, dass sich diese Skripte in Ihrem PATH befinden.
Der PFAD ist die Liste der Verzeichnisse, die die Shell bei jeder Eingabe auf einen Befehl überprüft. Du kannst deinen PATH mit dem Befehl sehen:
echo $PATHbashDies gibt die Liste der Verzeichnisse aus, die sich in Ihrem PATH befinden:
jdoe@localhost:~$ echo $PATH
/home/jdoe/bin:/home/jdoe/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesshell-sessionEs gibt zwei Möglichkeiten, Ihr Shell-Skript zu Ihrem PATH hinzuzufügen:
1. Verschieben Sie das Shell-Skript in ein Verzeichnis, das sich bereits in Ihrem PATH befindet.
Sie können das Shell-Skript in jedes der Verzeichnisse verschieben, die als Reaktion auf den echo $PATH-Befehl aufgelistet sind. Die beste Vorgehensweise ist es, Ihre persönlichen Shell-Skripte in das Verzeichnis /usr/local/bin zu legen:
sudo mv hello /usr/local/binbashSie können das Skript dann von überall mit dem Befehl ausführen:
hellobash2. Füge das Verzeichnis des Shell-Skripts zu deinem PATH hinzu.
Du kannst mit dem Befehl ein beliebiges Verzeichnis zu deinem PATH hinzufügen:
export PATH=$PATH:[path to directory]bashWenn der Benutzer jdoe beispielsweise /home/jdoe/myscripts zum PATH hinzufügen möchte, lautet der Befehl:
export PATH=$PATH:/home/jdoe/myscriptsbashSie können das Skript dann von überall mit dem Befehl ausführen:
hellobash- NEU: Flexibel skalieren mit VM-Cloning, Load Balancing, neuen Storage-Optionen und mehr
- Unbegrenzt Traffic, > 99,99% Verfügbarkeit
- 24/7 Experten-Support mit persönlichem Berater
Verwendung von Eingaben und Variablen
Ihre Skripte können Variablen verwenden, und Sie können den Benutzer zur Eingabe auffordern. Dadurch entsteht ein interaktives Skript, mit dem Sie ihm bei jeder Ausführung neue Informationen geben können.
Beginnen wir damit, eine neue Datei mit dem Namen greetme zu erstellen und sie zur Bearbeitung zu öffnen:
nano greetmebashStellen Sie wie bisher sicher, dass die erste Zeile des Skripts der Pfad zur Shell ist:
#!/bin/bashbashFüge einen Kommentar hinzu:
# A simple script to experiment with user inputbashDie erste Zeile des Skripts ist das, was das Skript sagt, wenn Sie es aufrufen:
echo -e "Hello user, please tell me which state you live in: "bashWir verwenden dafür echo -e, da -e es dem Befehl erlaubt, Sonderzeichen zu verarbeiten.
Die nächste Zeile weist das Skript an, Ihre Eingabe an einer Eingabeaufforderung zu akzeptieren:
read statebashDie letzte Zeile ist die Antwort des Skripts:
echo "I have heard that $state is lovely this time of year."bashDas gesamte Skript lautet wie folgt:
#!/bin/bash
# A simple script to experiment with user input
echo -e "Hello user, please tell me which state you live in: "
read state
echo "I have heard that $state is lovely this time of year."bashSpeichern und beenden Sie die Datei. Dann mach es mit dem Befehl ausführbar:
chmod 755 greetmebashSie können nun die Datei ausführen und die Ergebnisse sehen:
jdoe@localhost:~/myscripts$ greetme
Hello user, please tell me which state you live in:
California
I have heard that California is lovely this time of year.shell-session

