Linux 15.026 Themen, 107.015 Beiträge

Workshop "Einführung in die Bash-Programmierung"

Systemcrasher / 8 Antworten / Baumansicht Nickles

Hier nur ein Vorschlag:

An Hand eines Beispieles, z.B. alten Laptop als WEB-Radio einsetzen, soll die "hohe Kunst" des Bash/Shell-Skriptings erlernt werden.

Vorkenntnisse: keine.

D.h., bei "Adam und Eva" anfangen, jeden Pups kleinlichst erklären, so daß es auch ein "potentieller DAU", oder eben ältere Semester wie ich möglichst alles kapieren.

Natürlich gibt es haufenweise gute Anleitungen, die erklären aber nicht so genau und zu allgemein.

Ich wollte halt, daß wir hier an einem Beispiel, angefangen von einer einfachen "Primitivmethode", langsam immer komplexer ausgereifter am Skript "feilen", dabei auch Umwege gehen, "wissentlich" Sackgassen ausprobieren usw..

So lernt man am Besten.

Vielleicht endet das dann in einem Nickles-Artikel (idealerweise sogar ohne Anmeldung jedermann zugänglich), oder als kostenloses pdf-Buch (GPL-Lizenz).

Inspiriert hat mich die Erinnerung an meine ersten Gehversuche im C-64-Basic.

Damals gab es eine Zeitschrift, die Schritt für Schritt am Beispiel einer Adressdatenbank die Basic-Programmierung erklärt hat.

Das war damals echt vorbildlich.

Und seit ich die Kurse bei "OpenHPI" mache, geistert mir das in meinem Dickschädel rum.

Was haltet Ihr von der Idee?

Null Toleranz f?r Intoleranz
bei Antwort benachrichtigen
Systemcrasher Nachtrag zu: „Workshop "Einführung in die Bash-Programmierung"“
Optionen

Was denn:

4 Tage steht der Beitrag schon drin und keinen Interessiert es?

Schade :(

Null Toleranz f?r Intoleranz
bei Antwort benachrichtigen
Borlander Systemcrasher „Was denn: 4 Tage steht der Beitrag schon drin und keinen Interessiert es? Schade :“
Optionen

Also mir fehlte es in den letzten Tagen schlicht und einfach an der Zeit auf Deine Idee näher einzugehen.

Grundsätzlich finde ich die Idee erst mal nicht unsympathisch. Allerdings sehe ich auch, dass es schon eine ganze Menge Material zum Thema Shell-Scripting gibt, wie z.B. https://de.wikibooks.org/wiki/Linux-Praxisbuch:_Shellprogrammierung

Beim von Dir genannten Beispiel-Web-Radio habe ich leider auch den Eindruck, dass dieser Anwendungsfall nur relativ schlecht geeignet ist zur Einführung von Bash-Scripting, weil ich dort relativ hohe Anforderungen an eine interaktive Bedienung sehe.

Dinge die ich bisher per Batch-Scripting realisiert habe und mir spontan einfallen:

  • Revisionserhaltendes Backup mit rsync
  • Automatisierte Identifikation von Dateiduplikaten mit konfigurierbarer Löschung, Ersetzung u.s.w.
  • Synchronisation von Git Repositories
  • Steuerung von Protokollierung von Meßaufbauten zzgl. Tools zur Datenaufbereitung
  • Kleinere Werkzeuge um Aufgaben in mehreren Verzeichnissen auszuführen

Gruß
Borlander

bei Antwort benachrichtigen
Systemcrasher Borlander „Also mir fehlte es in den letzten Tagen schlicht und einfach an der Zeit auf Deine Idee näher einzugehen. Grundsätzlich ...“
Optionen
https://de.wikibooks.org/wiki/Linux-Praxisbuch:_Shellprogrammierung

Ja, Beispiele wie dieses gibt es nicht wenige.

Auch die Ubuntu-Wiki liefert da einen Einblick.

Nur: Ich finde solche Anleitungen ein wenig zu abstrakt für "blutige Anfänger".

Habe gerade gestern auf der Suche nach "Klolektüre" ein Buch im Regal meines Sohnes gefunden: Das Einstiegsseminar QBasic" vom BHV-Verlag.

Auch hier geht es von einem konkreten beispiel Schritt für Schritt weiter. Von einfach zu immer komplexer.

Ob das Web-Radio-Beispiel geeignet ist oder nicht, kann ich nicht beurteilen.

Es ist einfach eine Idee, die mir schon länger im Kopf rumspukt, und für die es einige Primitiv-Lösungen gibt, die ich sogar schon angewendet habe, wie z.B.

mplayer STREAMADRESSE

mit den Cursortasten in der Bash aus der history raussuchen.

der nächste Schritt wäre dann ein Zweizeiklenscript

mit der üblichen #!/bin/bash und der mplayer-Zeile mit treffendem Dateinamen.

der nächste dann: mehrere Sender in einem Script, angefangen von nicht funktionierenden oder umständlichen Methoden (z.B. nur den Sender, den man hören will ohne "#" vornedran, bis hin zu einfacher (Menue)-Auswahl der Sender.

Nach und nach dann immer komplexer, soweit es halt im Rahmen eines Skriptes sinnvoll ist.

Vor kurzem habe ich eine vergleichbare Anleitung für die Priemzahlenberechnung gesucht.

Was ich fand, war i.d.R. python-script und funzte auf meinem Testsystem nicht (gab Fehlermeldungen) und setzte Vorkenntnisse voraus.

Ob das aber nun ein Webradio sein soll, oder menuegesteuerte Toolsammlung, Backup-/Restore-scripte oder was auch immer, ist eigentlich egal.

Hauptsache, es läßt sich mit einfachsten Mitteln beginnen und nach und nach verbessern (Learning by doing).

Und es muß ein script sein, für das auch genug Interesse besteht, damit man dranbleibt.

Null Toleranz f?r Intoleranz
bei Antwort benachrichtigen
Borlander Systemcrasher „Ja, Beispiele wie dieses gibt es nicht wenige. Auch die Ubuntu-Wiki liefert da einen Einblick. Nur: Ich finde solche ...“
Optionen
bis hin zu einfacher (Menue)-Auswahl der Sender. […] menuegesteuerte Toolsammlung,

Da würde ich dann aber befürchten, dass dies das Thema Shell-Scripting eher verwessen würde zu Gunsten der Nutzung eines UI-Frameworks wie Zenity oder noch komplexeren Lösungen.

bei Antwort benachrichtigen
Systemcrasher Borlander „Da würde ich dann aber befürchten, dass dies das Thema Shell-Scripting eher verwessen würde zu Gunsten der Nutzung ...“
Optionen
zu Gunsten der Nutzung eines UI-Frameworks wie Zenity oder noch komplexeren Lösungen.

aber genau das soll NICHT sein.

Die Skripte müssen unabhängig von der Linux-Plattform laufen und unabhängig zusätzlich installierter Pakete, da sonst die Gefahr besteht, daß die Pakete nicht für jede Distri verfügbar sind.

Null Toleranz f?r Intoleranz
bei Antwort benachrichtigen
Borlander Systemcrasher „aber genau das soll NICHT sein. Die Skripte müssen unabhängig von der Linux-Plattform laufen und unabhängig zusätzlich ...“
Optionen
Die Skripte müssen unabhängig von der Linux-Plattform laufen und unabhängig zusätzlich installierter Pakete

Dann darfst Du eigentlich nicht mal Bash-Scripting fordern, sondern müsstest Dich auf die Teilmenge von Shellscripting beschränken die auch noch auf BusyBox läuft ;-)

bei Antwort benachrichtigen
Systemcrasher Borlander „Dann darfst Du eigentlich nicht mal Bash-Scripting fordern, sondern müsstest Dich auf die Teilmenge von Shellscripting ...“
Optionen
sondern müsstest Dich auf die Teilmenge von Shellscripting beschränken

Naja, aber bash/shell hat so ziemlich jede Distri. ;)

Null Toleranz f?r Intoleranz
bei Antwort benachrichtigen
Systemcrasher Nachtrag zu: „Workshop "Einführung in die Bash-Programmierung"“
Optionen

So, hab gerade mal ein wenig gegoogelt,

fertige Lösungen werden z.B. hier präsentiert:

https://forum.ubuntuusers.de/topic/bash-tuner-webradio-hoeren-ueber-die-shell/

https://forum.ubuntuusers.de/topic/script-fuer-internetradio/#post-5956017

Aber so in etwa soll ja das Endziel aussehen, nachdem dann die Schritte einzeln erklärt worden sind (incl. Sackgassen und warum sie in solche führen).

Null Toleranz f?r Intoleranz
bei Antwort benachrichtigen