Grundlagen der Bash-Automatisierung und Skripterstellung (Teil 1)

Inhalt

Die Automatisierung einer sich wiederholenden Aufgabe macht den Bash-Entwickler tendenziell glücklich: anstatt endlose Befehle immer wieder einzugeben, ein Skript erledigt den Job einfach immer wieder. Bash ist ideal für eine solche Automatisierung. Diese Serie hilft Ihnen beim Einstieg!

Was ist es Bash-Automatisierung?

Die Bash-Shell ist eine leistungsstarke Linux-Shell, die eine tiefgreifende Automatisierung sich wiederholender Aufgaben ermöglicht. Die Bash-Linux-Shell ist nicht nur eine erstklassige Alternative zu DevOps, Datenbanken und Testingenieure gleichermaßen, Stattdessen können Benutzer jeden Tag von langsam und stetig zunehmenden Bash-Fähigkeiten profitieren.. Bash ist auch eine Programmier- und Programmiersprache, die an dir wächst. Ich programmiere seither aktiv in Bash 2012 und ich benutze es viel länger.

Bash eignet sich auch für viele verschiedene Anwendungsdomänen und Anwendungsfälle.. Als Beispiel, Sie können es einfach für das Big Data-Handling verwenden und, überraschenderweise, scheint sich für diese Aufgabe aufgrund der Vielzahl der verfügbaren Textverarbeitungstools sehr gut zu eignen, oder als einfach zu installierende Pakete erhältlich. Es eignet sich auch sehr gut zum Planen und Verwalten von Backups und Datenbanken., oder für den Umgang mit großen Dateispeicherlösungen, Webserver-Automatisierung und vieles mehr.

Eine Sache, die ich festgestellt habe, ist, dass jedes Mal, wenn das nächste Problem auftritt, ein wenig Recherche über eine Suchmaschine oder die verschiedenen Stackoverflow-Websites, wird schnell nicht nur eine Lösung für das Problem bieten, aber eine Möglichkeit zu wachsen und zu lernen. Dies ist eine Erfahrung, die der eines Redakteurs sehr ähnlich ist.. vi wo das gleiche hingeht; immer wenn es ein Hindernis gibt, die antwort ist nah.

Diese Miniserie besteht aus drei Teilen, von denen der erste ist, und darin werden wir die Grundkonzepte der Automatisierung und des Bash-Scriptings sehen.

Der Fall!

Sie fragen sich vielleicht, was das für ein Titel ist?. Und ich hätte recht, es sei denn, Sie haben mit einem erfahrenen Linux-Entwickler gesprochen. Sie würden bestenfalls lächeln. Denn die ersten beiden Buchstaben eines gut geschriebenen Bash-Skripts wären immer, Gut, Shebang!

Es gibt zwei Charaktere, nämlich #! die über einem Skript platziert werden können, was dem Dolmetscher sagt, welcher Dolmetscher kann, muss und wird verwendet werden, um das betreffende Skript zu verarbeiten. Es kommt vor, dass dies Symbol als Ganzes heißt Die Sache als Ganzes.

Weil, um unsere vorherige Aussage zu erweitern: Die erste Zeile eines gut geschriebenen Bash-Skripts sollte mit #!/bin/bash , um der Shell anzuzeigen (welche Shell auch immer verwendet wird, könnte sein, als Beispiel, bash Ö sh Ö zsh) dass wir die Binärdatei wollen /bin/bash (unsere Bash-Shell) Gehen Sie folgendermaßen vor, um diesen Code auszuführen.

Lassen Sie uns dies in die Praxis umsetzen, Definieren eines kleinen Skripts test.sh wie folgt:

#!/bin/bash

echo 'Hello CloudSavvyIT Readers!'

Sie können dieses Skript mit Ihrem bevorzugten Texteditor erstellen, das wäre vorzugsweise ein Editor, der nur monospaced Schriftarten verwendet wie wir, drücken, nano oder ein einfacher Text-basierter Editor auf Ihrem Linux-Desktop, und vorzugsweise Dinge wie ein Textverarbeitungsprogramm wie OpenOffice Writer vermeiden, usw., da sie unerwünschte zusätzliche Binärdaten oder Zeichen in unser Skript schreiben können. Mit anderen Worten; Wir müssen Klartext verwenden.

Sobald dieses Skript definiert ist, wir machen es ausführbar, indem wir es ausführen chmod +x test.sh auf der Kommandozeile. Dann können wir das Skript starten, indem wir einfach seinen Namen mit dem Präfix aufrufen ./: ./test.sh

Unser erstes Bash-Skript mit Shebang und Echo

Eingabeparameter

Sobald Sie anfangen, Skripte zu schreiben, Sie werden wahrscheinlich feststellen, dass Sie Eingabeparameter an das Skript übergeben möchten. Eine Möglichkeit, dies zu tun, besteht darin, die einfachen Positionsparameter zu verwenden, die standardmäßig in Bash verfügbar sind.. Werfen wir einen Blick auf ein Beispielskript test2.sh, die wir auf die nächste Weise definieren:

#!/bin/bash

echo "${1}"

Hier haben wir den Positionsparameter verwendet ${1}. Diese Variable spiegelt das erste Wort wider (getrennt durch Standardspeicherplatz) Was ist mit unserem Drehbuch passiert?, es sei denn, es wird ein Zitat verwendet. Mal sehen wie das funktioniert:

Positionsparameter in unserem zweiten Bash-Skript verwenden

Nachdem wir unser Skript wieder ausführbar gemacht haben mit chmod +x test2.sh wir führen dasselbe aus und übergeben ein einzelnes Wort hello als erster Positionsparameter (${1}). Das Ergebnis ist das hello wiederholt sich bei uns.

Dies liegt daran, wann das Skript gestartet wurde, Die Variable ${1}$1 obwohl ich empfehle, Variablennamen immer in Anführungszeichen zu setzen) wurde auf den Wert des ersten Positionsparameters gesetzt; das erste Wort oder die erste Zeichenfolge in Anführungszeichen nach dem Skriptnamen.

Dann passieren wir hello world, trotz dieses, das hat sich nur wiederholt hello Zurück zu uns. Der Grund ist einfach; das zweite wort (standardmäßig durch ein Leerzeichen getrennt) sieht aus wie der zweite Positionsparameter und, da, bootet als ${2} im Skript, Nein ${1}.

Wir umgehen dieses Verhalten, indem wir die Eingabe in Anführungszeichen setzen, wenn wir übergeben 'Hello CloudSavvyIT Readers!'. Einfache oder doppelte Anführungszeichen hätten funktioniert, auch wenn die Bedienung anders ist, mehr dazu im nächsten Teil dieser Serie. Das Ergebnis ist, dass unser erster Positionsparameter ${1} steht im Volltext Hello CloudSavvyIT Readers!, und so kommt uns das gleiche vor.

Wenn Sie weitere Informationen zu Variablen wünschen, unsere Beiträge Bash-Funktionen und Lokale Variablen und Export von Variablen in Bash: die Beiträge warum und wie könnten auch von Interesse sein.

Ende

In diesem Beitrag, Wir haben die ersten Grundlagen der Automatisierung und des Bash-Scriptings überprüft. Wir haben gelernt, was Bash- und Shebang-Automatisierung ist, und wie man anfängt, Eingabevariablen an unsere Skripte zu übergeben.

En Bash-Automatisierungs- und Skripting-Grundlagen (Teil 2), wir analysieren variable Angebote und mehr. zu genießen!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.