Es gibt viele Anleitungen im Internet, die zeigen, wie man Shell-Skripte mit BASH erstellt. Dieser Leitfaden will etwas anders sein, da er von jemandem geschrieben wird, der nur über sehr wenig Erfahrung mit Shell-Skripten verfügt.
Jetzt denken Sie vielleicht, dass dies eine dumme Idee ist, aber ich finde, dass einige Guides mit Ihnen sprechen, als ob Sie bereits ein Experte wären, und andere Guides brauchen zu lange, um auf die Jagd zu gehen.
Obwohl meine Erfahrung mit LINUX / UNIX-Shell-Skripts begrenzt ist, bin ich Software-Entwickler und kann auch Skriptsprachen wie PERL, PHP und VBScript verwenden.
Der Sinn dieses Leitfadens besteht darin, dass Sie beim Lernen lernen und alle Informationen, die ich abholte, an Sie weiterleiten.
Fertig machen
Es gibt natürlich eine Menge von Theorien, die ich an Sie weitergeben könnte, z. B. die Beschreibung der verschiedenen Shell-Typen und die Vorteile der Verwendung von BASH gegenüber KSH und CSH.
Die meisten Leute möchten, wenn sie etwas Neues lernen, zuerst mit ein paar praktischen Lektionen anfangen und vor diesem Hintergrund werde ich Sie nicht mit Kleinigkeiten langweilen, die im Moment nicht wichtig sind.
Um dieses Handbuch zu befolgen, benötigen Sie lediglich einen Texteditor und ein Terminal mit BASH (der Standardshell bei den meisten Linux-Distributionen).
Texteditoren
Andere Handbücher, die ich gelesen habe, haben vorgeschlagen, dass Sie einen Texteditor benötigen, der die Farbcodierung von Befehlen enthält. Die empfohlenen Editoren sind entweder VIM oder EMACS.
Die Farbcodierung ist schön, da die Befehle bei der Eingabe hervorgehoben werden. Für Anfänger können Sie jedoch die ersten paar Wochen damit verbringen, VIM und EMACS zu lernen, ohne eine einzige Codezeile zu schreiben.
Ich bevorzuge EMACS, aber um ehrlich zu sein, benutze ich lieber einen einfachen Editor wie Nano, Gedit oder Leafpad.
Wenn Sie Skripts auf Ihrem eigenen Computer schreiben und wissen, dass Sie immer Zugriff auf eine grafische Umgebung haben, können Sie den Editor auswählen, der für Sie am besten geeignet ist. Dies kann entweder ein grafischer Editor wie GEdit oder ein Editor sein, der direkt im Terminal ausgeführt wird wie nano oder vim.
Für die Zwecke dieses Handbuchs werde ich nano verwenden, da es nativ auf den meisten Linux-Distributionen installiert ist. Daher ist es wahrscheinlich, dass Sie darauf zugreifen können.
Ein Terminalfenster öffnen
Wenn Sie eine Linux-Distribution mit grafischem Desktop wie Linux Mint oder Ubuntu verwenden, können Sie ein Terminalfenster öffnen, indem Sie STRG + ALT + T drücken.
Wo Sie Ihre Skripte ablegen können
Für dieses Tutorial können Sie Ihre Skripts in einem Ordner unter Ihrem Home-Ordner ablegen.
Vergewissern Sie sich in einem Terminalfenster, dass Sie sich in Ihrem Basisordner befinden, indem Sie den folgenden Befehl eingeben:
cd ~
Der Befehl cd steht für change directory und die Tilde (~) ist eine Verknüpfung für Ihren Home-Ordner.
Sie können überprüfen, ob Sie sich an der richtigen Stelle befinden, indem Sie den folgenden Befehl eingeben:
pwd
Der Befehl pwd teilt Ihnen Ihr aktuelles Arbeitsverzeichnis mit (wo Sie sich in der Verzeichnisstruktur befinden). In meinem Fall kehrte er / home / gary zurück.
Natürlich möchten Sie Ihre Skripte nicht direkt in den Home-Ordner legen. Erstellen Sie also einen Ordner namens Scripts, indem Sie den folgenden Befehl eingeben.
mkdir-Skripte
Wechseln Sie in den neuen Skriptordner, indem Sie den folgenden Befehl eingeben:
Dein erstes Skript
Es ist üblich, zu lernen, wie man programmiert, damit das erste Programm einfach die Wörter "Hello World" ausgibt.
Geben Sie in Ihrem Skriptordner den folgenden Befehl ein:
nano helloworld.sh
Geben Sie nun den folgenden Code in das Nano-Fenster ein.
#! / bin / bash Echo "Hallo Welt"
Drücken Sie STRG + O, um die Datei zu speichern, und STRG + X, um Nano zu beenden.
Das Skript selbst ist wie folgt aufgebaut:
Das #! / Bin / bash muss oben in allen Skripts enthalten sein, da Interpreter und das Betriebssystem wissen, wie sie mit der Datei umgehen sollen. Denken Sie einfach daran, es einzubauen und zu vergessen, warum Sie es tun.
Die zweite Zeile enthält einen einzigen Befehl namens Echo, der den unmittelbar darauf folgenden Text ausgibt.
Wenn Sie mehr als ein Wort anzeigen möchten, müssen Sie die Wörter in doppelte Anführungszeichen (") setzen.
Sie können das Skript jetzt ausführen, indem Sie den folgenden Befehl eingeben:
sh helloworld.sh
Die Wörter "Hallo Welt" sollten erscheinen.
Eine andere Möglichkeit, Skripts auszuführen, ist wie folgt:
./helloworld.sh
Wenn Sie diesen Befehl sofort in Ihrem Terminal ausführen, werden Sie möglicherweise einen Berechtigungsfehler erhalten.
Um Berechtigungen zum Ausführen des Skripts auf diese Weise zu erteilen, geben Sie Folgendes ein:
sudo chmod + x helloworld.sh
Was ist dort eigentlich passiert? Warum konnten Sie sh helloworld.sh ausführen, ohne die Berechtigungen zu ändern, aber ./helloworld.sh auszuführen, verursachte ein Problem?
Die erste Methode lädt den bash-Interpreter, der die Eingabe von helloworld.sh übernimmt und herausfindet, was er damit tun soll. Der Bash-Interpreter verfügt bereits über Berechtigungen zum Ausführen und muss nur die Befehle im Skript ausführen.
Die zweite Methode lässt das Betriebssystem herausfinden, was mit dem Skript zu tun ist, und erfordert daher ein ausführbares Bit, um ausgeführt zu werden.
Das obige Skript war in Ordnung, aber was passiert, wenn Sie die Anführungszeichen anzeigen möchten?
Dafür gibt es verschiedene Möglichkeiten. So können Sie beispielsweise vor den Anführungszeichen einen umgekehrten Schrägstrich setzen:
Echo "Hallo Welt"
Dies erzeugt die Ausgabe "Hallo Welt".
Warten Sie eine Minute, was ist, wenn Sie "Hallo Welt" anzeigen möchten?
Nun, du kannst auch den Fluchtzeichen entkommen
Echo "" Hallo Welt ""
Dies erzeugt die Ausgabe "Hallo Welt".
Jetzt weiß ich, was du denkst. Aber ich möchte wirklich "" Hallo Welt "" anzeigen.
Die Verwendung von Echo mit all diesen Escapezeichen kann ziemlich dumm werden. Es gibt einen alternativen Befehl namens printf.
Zum Beispiel:
printf '% s n' ' "" Hallo Welt ""'
Beachten Sie, dass der anzuzeigende Text in Anführungszeichen steht. Der Befehl printf gibt Text aus Ihrem Skript aus. Das% s bedeutet, dass eine Zeichenfolge angezeigt wird. N gibt eine neue Zeile aus.
Zusammenfassung
Wir haben im ersten Teil noch nicht wirklich viel getan, aber hoffentlich haben Sie Ihr erstes Skript in Arbeit.
Im nächsten Teil werden wir das Hallo-Weltskript verbessern, um Text in verschiedenen Farben anzuzeigen, Eingabeparameter, Variablen zu akzeptieren und zu bearbeiten und Ihren Code zu kommentieren.