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

    Cloud Backup von IONOS

    Maximaler Schutz für Ihre Unternehmensdaten: Einfache Backups für Cloud-Infrastruktur, PCs und Smartphones, inklusive persönlichem Berater!

    Umfassender Schutz
    Einfache Wiederherstellung
    Schnelle Datenspeicherung

    Erstellen der Datei

    Gehen Sie in Ihr Home-Verzeichnis:

    cd
    Hinweis

    Die Verwendung von CD ohne Argumente führt Sie automatisch in Ihr Home-Verzeichnis.

    Erstellen Sie ein Verzeichnis für Testskripte:

    mkdir myscripts

    In dieses Verzeichnis wechseln:

    cd myscripts

    In dieses Verzeichnis wechseln:

    nano hello

    Die 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/bash

    Die 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 script

    Fü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"

    Speichern 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 hello

    Ausfü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:

    ./hello

    Sie können das Skript von überall auf dem Server ausführen, indem Sie den vollständigen Dateipfad eingeben:

    /home/[your username]/myscripts/hello

    Fü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 $PATH

    Dies 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/games

    Es 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/bin

    Sie können das Skript dann von überall mit dem Befehl ausführen:

    hello

    2. 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]

    Wenn der Benutzer jdoe beispielsweise /home/jdoe/myscripts zum PATH hinzufügen möchte, lautet der Befehl:

    export PATH=$PATH:/home/jdoe/myscripts

    Sie können das Skript dann von überall mit dem Befehl ausführen:

    hello

    vServer (VPS) von IONOS

    Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

    100 % SSD-Speicher
    Bereit in 55 Sek.
    SSL Zertifikat

    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 greetme

    Stellen Sie wie bisher sicher, dass die erste Zeile des Skripts der Pfad zur Shell ist:

    #!/bin/bash

    Füge einen Kommentar hinzu:

    # A simple script to experiment with user input

    Die 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: "
    Hinweis

    Wir 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 state

    Die letzte Zeile ist die Antwort des Skripts:

    echo "I have heard that $state is lovely this time of year."

    Das 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."

    Speichern und beenden Sie die Datei. Dann mach es mit dem Befehl ausführbar:

    chmod 755 greetme

    Sie 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.

    Auf dem Laufenden bleiben?

    Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!