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


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 […]

Ubuntu – Mit Konsole in Dateien suchen

October 8, 2020

Folgendes Szenario. Ihr habt einen Kunden der noch keine Entwicklungsumgebung für sein Projekt gebaut hat und alle Änderungen seit dem er sein Projekt – in diesem Fall war es ein Shopware Shop – am Livesystem vollzieht. WHHHAAAAATTTTTTTTT!?!? Richtig gelesen – und solche Kunden gibt es viele. Und an dieser Stelle mache ich dem Kunden auch […]

Video Dateiengröße verkleinern mit wenig wenig Qualtätsverlust

September 24, 2020

Juhu – Der nächste Film mit 6 Gigabyte und gleich kommt noch die coole Serie. So läppern sich die Gigabytes auf Gigabytes auf der Festplatte und so weiter. Eine Festplatte ist nun mal endlich und daher kommen die Speicher Probleme ganz von alleine. Wer Filme mag und sie gerne auf der Festplatte zum Abruf bereit […]

PNG zum PDF umwandeln

September 10, 2020

Wer einige PNG Grafiken hat die er über die Kommandozeile in ein PDF wandeln will, benötigt dafür das mächtige Bildkonvertierungsprogramm convert. Convert ist Standardmäßig auf Ubuntu vorinstalliert. Allerdings muss man hier eins beachten. Convert nutzt für das konvertieren von Bildern, Grafiken zu einem PDF Ghostscript. Ghostscript hatte aber vor Jahren eine große Sicherheitslücke und convert […]