nofalab.ch

Shell-Skripte

Auf dieser Seite finden Sie einige Shell-Skripte (Bash), die ich hauptsächlich für mich selbst zu Lernzwecken schreibe. Mittlerweile haben sie vielleicht auch einen beschränkten praktischen Nutzen für andere. Sie enstehen durch Ausprobieren, Fehler machen, "man-pages" lesen, korrigieren, wieder ausprobieren, andere Fehler machen, wieder ausprobieren und so weiter. Das Mitlesen in Newsgruppen wie in comp.unix.shell wirkt anregend und es müssen so nicht alle Fehler selbst gemacht werden. Ganz sicher können diese kleinen Programme verbessert werden. Anregungen sind willkommen.

Da diese Skripte Zeichen wie "é", "Á" oder "è" enthalten können, ist es für ein einwandfreies Funktionieren wichtig, dass die "Charakter-Codierung" dieser Skripte derjenigen ihrer Systemeinstellung entspricht. Die herunterladbaren Versionen sind alle in latin1 (ISO-8859-1) und sollten gegebenenfalls umcodiert werden, zum Beispiel nach UTF-8 mit dem Befehl "recode latin1..utf8 scriptname".

Gesundheits-Tagebuch

health-log

Mit diesem interaktiven Shell-Skript können Körpergewicht und Körpergrösse von verschiedenen Personen einfach aufgezeichnet und im zeitlichen Verlauf dargestellt werden. Das Skript braucht 'gnuplot', um die Grafiken zu rendern. Es hat eine eingebaute Hilfe. Hier ist ein Beispiel-Report, so wie er von 'health-log' erzeugt wird. Durch kleine Modifikationen kann dieses Skript für beliebige Messreihen und deren Darstellung verwendet werden.
anzeigen | herunterladen

Lernspiele

tippen lernen

Buchstaben, Zahlen und anderen Zeichen über die Tastatur eingeben. Das Spiel fördert die Fingerfertigkeit und strapaziert die beiden Hirnhälften, da teilweise Tastenkombinationen übers Kreuz gedrückt werden müssen. Damit einige Zeichen wie "öäü" oder "éàè" richtig dargestellt werden, muss dieses Skript gleich "charakter-codiert" sein wie das System, auf dem es laufen soll.
anzeigen | download

rechnen lernen

Neu mit zufällig wechselndem Operator, mit Anzeige des Notendurchschnittes (die Note 6 steht für die Bestnote) und mit kinderfreundlichem Terminal mit grosser Schrift auf hellblauem Hintergrund.

Addieren, subtrahieren, multiplizieren und dividieren von jeweils zwei ganzen Zahlen. Der Werte-Bereich, in welchem sich diese beiden Zahlen befinden sollen, kann frei festgelegt werden. Auch negative Zahlen sind möglich. Für Kinder aller Art - ohne Pardon.
anzeigen | download

Dateisystem

"Ordnergewicht"

Dieses Shell-Skript schaft einen numerischen Überblich über den Inhalt eines Vezeichnisses mit all seinen Unterverzeichnissen: Es zeigt den belegten Speicherplatz (in Blocks und Bytes), die Anzahl der Unterverzeichnisse sowie die Anzahl aller darin enthaltenen Dateien und symbolischen Links an. Die verwendeten Unix-Befehle sind 'ls', 'grep' und 'awk'.
anzeigen | download

Üeberwachung der Speicherbelegung

Mit diesem Skript kann der zeitliche Verlauf des Belegungsgrades von Speichermedien und deren Partitionen grafisch angezeigt werden. Um eine Lückenlose Aufzeichnung zu garantieren, kann es als 'Cron-Job' aufgerufen werden.
anzeigen | download

Diverses

Adressbuch

Adresseinträge erstellen, ändern und löschen. Das Adressbuch nach beliebigen Stichworten durchsuchen (Volltextsuche mit bis zu 4 Suchbegriffen), in den Suchergebnissen vorblättern, gefundene Maildresse im Default-Mailprogramm aufrufen, gefundene Webadresse im Default-Webbrauser aufrufen, Adressbuch von Palm-Handheld importieren (nicht das Palm-Standard-Adressbuch, sondern das Adressbuch für "Palm-DB", siehe weiter unten). Einfach, schnell, und ergonomisch.

Die Daten werden in Tabellenform in einer einfachen Textdatei gespeichert. Feldnamen können mit einem Texteditor nach belieben geändert, entfernt oder hinzugefügt werden - direkt im Skript.
anzeigen | download

akustisches Wörterbuch

Erstellen und durchsuchen eines akustischen Wörterbuches. Dazu braucht es ein Mikrofon.
anzeigen | download

Im Umgang mit dem Palm-Taschencomputer

Meine bevorzugte Anwendung auf dem Palm heisst "Pilot-DB". Damit verwalte ich Notizen, Adressen und Finanzen, Betriebs-Informationen wie Inventare, Energieverbrauch, Raumflächen, Bewohnerlisten und Log's von Veränderungen an Installationen, aber auch Arbeitszeiterfassung und Arbeitspläne.

Die "palm-db-tools" stellen die Schnittstelle zwischen "Pilot-DB" auf dem Palm-Taschencomputer und dem Heimrechner dar. Für Debian-Systeme gibt es hier das entsprechende Packet. Leider werden "Pilot-DB" und "palm-db-tools" nicht mehr weiterentwickelt. Die folgenden Shell-Skripte verwenden diese "palm-db-tools", um Tabellen und Datenfilter in Form von einfachen Textdokumenten zu erzeugen.

Buchhaltung

Ein auf die Berichterstattung aus der doppelten Buchhaltung spezialisiertes Skript. Es berechnet die Summe aller Buchungen für jedes einzelne oder für ein bestimmtes Konto, für eine Kontoart, für eine Kategorie ... und dies für einen wählbaren Zeitabschnitt und stellt sie übersichtlich dar. Nützlich wird dieses Skript zusammen mit der "Kassenbuch-Suite": Der Palm dient als mobiles Eingabegerät, und das Skript sorgt auf dem Computer für die Auswertung der Daten. Um davon Gebrauch zu machen, sollten die fünf Pilot-DB-Dateien, die in diesem Archiv enthalten sind, auf dem Palm installiert werden.
anzeigen | download

Pilot-DB-Dateien in CSV-Dateien umwandeln

Das Skript benutzt das bewährte pdb2csv-Tool und schreibt die Feldnamen in die erste Zeile. Es liest nacheinander alle Dateien im Palm-Backup-Verzeichnis, deren Namen auf ein bestimmtes Suchmuster zutreffen, wandelt sie in CSV-Dateien mit gleichem Namen um und deponiert diese in ein Verzeichnis mit dem Namen des Suchmusters und dem aktuellen Datum. Der Zweck ist ein selektives Backup der Palm-Datenbanken mit Zeitstempel. Zudem können die so erzeugten CSV-Dateien direkt in einem Tabellenkalkulations-Programm wie z.B. Openoffice.org-calc, Gnumeric oder Excel weiterverarbeitet werden.
anzeigen | download

Eine CSV-Datei in eine Pilot-DB-Datei umwandeln

Das Skript automatisiert das bewährte csv2pdb-Tool, indem es das benötigte IFO-File anhand der ersten Zeile der CSV-Datei schreibt und danach eine auf dem Palm installierbare Pilot-DB-Datei erzeugt.
anzeigen | download