-
Navigieren Sie zu Ihrem Skriptverzeichnis.
Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/scripts
befinden.
cd ~/project/scripts
-
Erstellen Sie ein neues Skript für den Hostnamen-Abruf.
Sie erstellen ein Skript namens get_hostnames.sh
, das die for
-Schleife enthält, um Hostnameninformationen mit verschiedenen Optionen abzurufen.
Öffnen Sie get_hostnames.sh
mit nano
:
nano get_hostnames.sh
Fügen Sie der Datei den folgenden Inhalt hinzu:
#!/usr/bin/bash
## This script retrieves hostname information using different options.
for OPTION in "" "-f" "-s"; do
echo "Getting hostname with option: ${OPTION}"
hostname ${OPTION}
echo "------------------------"
done
exit 0
Speichern Sie die Datei, indem Sie Ctrl+O
und dann Enter
drücken und Ctrl+X
, um nano
zu verlassen.
Lassen Sie uns die neuen Elemente aufschlüsseln:
## This script...
: Zeilen, die mit #
beginnen, sind Kommentare. Sie werden von der Shell ignoriert, sind aber nützlich, um Ihr Skript zu dokumentieren.
echo "Getting hostname with option: ${OPTION}"
: Diese Zeile gibt während der Skriptausführung Feedback und zeigt an, welche Option gerade verwendet wird.
exit 0
: Dieser Befehl beendet das Skript explizit mit einem Statuscode von 0
, was konventionell Erfolg anzeigt.
-
Machen Sie das Skript ausführbar.
Genau wie im vorherigen Schritt müssen Sie Ihrem neuen Skript ausführbare Berechtigungen erteilen.
chmod +x get_hostnames.sh
Es gibt keine direkte Ausgabe von diesem Befehl, wenn er erfolgreich ist.
-
Führen Sie das Skript aus seinem aktuellen Verzeichnis aus.
Führen Sie das Skript aus, um seine Funktionalität zu überprüfen.
./get_hostnames.sh
Sie sollten eine Ausgabe ähnlich dieser sehen:
Getting hostname with option:
684791f71c0e35fea6cc1243
------------------------
Getting hostname with option: -f
684791f71c0e35fea6cc1243
------------------------
Getting hostname with option: -s
684791f71c0e35fea6cc1243
------------------------
-
Verstehen Sie die Umgebungsvariable PATH
.
Die Umgebungsvariable PATH
ist eine Liste von Verzeichnissen, die die Shell nach ausführbaren Befehlen durchsucht. Wenn Sie einen Befehl wie ls
oder grep
eingeben, sucht die Shell in den im PATH
aufgeführten Verzeichnissen nach der entsprechenden ausführbaren Datei.
Zeigen Sie Ihre aktuelle PATH
-Variable an:
echo $PATH
Sie sehen eine durch Doppelpunkte getrennte Liste von Verzeichnissen. Zum Beispiel:
/home/labex/.local/bin:/home/labex/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
Beachten Sie, dass ~/project/scripts
(oder /home/labex/project/scripts
) typischerweise nicht im Standard-PATH
enthalten ist. Aus diesem Grund mussten Sie ./get_hostnames.sh
verwenden, um Ihr Skript auszuführen.
-
Fügen Sie Ihr Skriptverzeichnis zum PATH
hinzu (Optional, für zukünftige Referenz).
Obwohl dies für diesen Laborschritt nicht unbedingt erforderlich ist, ist es gängige Praxis, ein persönliches bin
- oder scripts
-Verzeichnis zu Ihrem PATH
hinzuzufügen, damit Sie Ihre benutzerdefinierten Skripte von jedem Ort aus ausführen können. Sie können dies tun, indem Sie eine Zeile wie export PATH=$PATH:~/project/scripts
zu Ihrer Datei ~/.bashrc
oder ~/.zshrc
hinzufügen. Für dieses Labor werden wir weiterhin Skripte ausführen, indem wir ihren Pfad angeben.