Bash Script – kurz mal erklärt

Heute mal eine einfache Sache, falls man sie Klever einsetzt, eine Menge Arbeit abnehmen kann. Die Rede ist vom guten alten Shell-Script.

Wer ständig die gleichen Befehle absetzen muss, der kann sich doch automatisieren. Ich zum Beispiel nutze Shell Script für das Deployment Prozess. Also den fertigen Code von der Entwicklungsumgebung in die Produktionsumgebung zu schieben.

Fange wir an. Wir möchten ein Script erstellen, dass uns in einem Git Repository alle Änderungen verfolgt, commitet und in unser Remote Repository pusht.

Dafür brauchen wir erst einmal ein Shell Script bzw. Bash Script. Ein Bash Script hat die Dateiendung .sh.

In unserer Konsole geben wir also ein:

touch mypusher.sh 

Dann öffnen wir unsere Datei und schreiben die Commands nieder die wir sonst in unserer Console hacken.

#!/bin/bash
echo -e "Deployment Process..."
# start the git deployment
git add .
git commit -m "Updates"
git push 

#!/bin/bash – Was issn dit?

Jedes Shell Script fängt in der ersten Zeilemit dem sogenannten Shebang an. Diese Zeile sagt einfach nur mit welchem Kommandointerpreter bzw. welcher Shell das Script gelesen und ausgewertet werden soll. Statt #!/bin/bash kann man hier nun auch #!/bin/sh schreiben. Das führt dann dazu, dass das Script auch von BSD Systemen (Apple OS) gelesen werden kann.

Eine Besonderheit ist die Route. Grundsätzlich wird mit der Route in Shellscripten kommentiert. Eine Ausnahme gibt es nur in der ersten Zeile. In anderen Zeilen wäre das ein Kommentar:

# Hier kommt Kurt 

So wird sind auch fast fertig. Nun speichern wir unsere Datei und gehen über zum letzten Schritt.

Mache die Datei „executable“

Ein Shell script muss ausführbar / executable sein. Dafür benötigt es besondere Rechte. Wir geben also nun in unserer Kommandzeile noch folgendes ein:

chmod u+x mypusher.sh

Und nun testen wir es mal. Allerdings nicht mit den Anweisungen von oben. Den dafür bräuchtet ihr ja noch ein entferntes Repository bei Github oder Bitbucket. Also ändern wir es mal kurz um:

#!/bin/bash
echo -e "Kleine Git Automatisierung..."
mkdir gitTestAuto
cd gitTestAuto
touch index.html
git init && git add . && git commit -m"Init Commit"
git status
touch app.js
git status
echo -e"Chiao"

Um das Script nun zu starten, geben wir über die Kommandozeile ein:

./mypusher.sh

A viola! Ich hoffe im groben merkt ihr, wozu so ein Shellscript alles helfen kann. Das hier ist die einfachste Variante. Wir können in Shellscripten mit Variablen, Parametern arbeiten. Wie einleitend bereits erwähnt. Es kann uns eine Menge arbeit abnehmen und wir können mehr Zeit in DevOp Themen investieren um beim nächsten Gespräch mit einem DevOp nicht ganz wie ein Trottel dazustehen.


Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


SVG zu PNG konvertieren

March 20, 2021

Als Webentwickler kommt man um das SVG Format nicht mehr herum. Und das ist auch gut so! Das Thema SVG in der Webentwicklung ist vielseitig und umfänglich. Es fängt an, wie man SVG Grafiken am elegantesten in sein Projekt einbindet und endet wie man sein Webpack diesbezüglich konfiguriert. Wenn man überhaupt mit Webpack arbeitet und […]

Ubuntu VLC Player DVD spielt nicht ab

March 14, 2021

Man hat sich eine DVD Bestellt. In meinem Fall war es Fargo. Nicht die Serie sondern der Originalfilm aus dem Jahr 1996. Für alle die den Film nicht kennen: „Es lohnt sich“. Jedenfalls wollte ich den Film über Laptop schauen. Ich leg die Scheibe ein und öffne den VLC Player. Menüpunkt Media → Open Disc […]

Ubuntu – Find – Mit der Konsole Dateien finden

March 5, 2021

Ein häufiges Problem ist, dass man Dateien, die man irgendwo abgelegt hatte, nicht finden kann. Man kann natürlich über die Linux Dist UI die Dateien in Files / Dateieinmanager suchen. Aber warum sollte man nicht das Kommandozeilen-Terminal dazu nutzen? Insbesondere wenn Du über SSH auf dem Server eingeloggt bist, geht es ja nur mit Konsole. […]

Ubuntu – Firefox Sessions Backup

February 7, 2021

Wenn irgendwann mal das Internet für längere Zeit ausfallen sollte – Stichwort Cloudausfall – wäre ich gewappnet. Ich habe das Internet bei Firefox in meinen Tabs offen. Vielleicht gehört ihr auch zu denen, die über 1000 Tabs offen haben. Warum auch immer. Wahrscheinlich könnte man darüber eine Doktorarbeit schreiben. Mit dem Titel: „Persönlichkeitsanalyse anhand des […]

MySQL Datenbankserver im lokalen Netzwerk einrichten

November 19, 2020

Es kommt mal vor, dass man beim Entwickeln die Test, Entwickler Datenbank nicht auf einem Liveserver sowie auf dem lokalen Rechner einrichten möchte. Und arbeiten an der Livedatenbank sollten sowieso keine Option sein. Jedenfalls kann der Wunsch nach einer Testdatenbank, die nicht auf dem Entwicklerrechner installiert ist unterschiedliche Gründe haben. Ein häufiger Grund ist wohl, […]

SSH Authentifizierung mit dem SSH Public Key einrichten

November 16, 2020

Die schlüsselbasierte Authentifizierung in SSH wird als Authentifizierung mit öffentlichem Schlüssel / Public Key bezeichnet. Mit ssh-copy-id kann man leicht die Authentifizierung mit dem SSH Public Key einrichten. Der Prozess läuft wie folgt ab. Generieren zuerst einen SSH-Schlüssel / SSH Key Mit OpenSSH wird ein SSH-Schlüssel mit ssh-keygen erzeugt. Führe den Befehl ssh-keygen aus und […]