Globenaut

Jeder hat das Recht auf Meinungsfreiheit und freie Meinungsäußerung; dieses Recht schließt die Freiheit ein, Meinungen ungehindert anzuhängen sowie über Medien jeder Art und ohne Rücksicht auf Grenzen Informationen und Gedankengut zu suchen, zu empfangen und zu verbreiten.
Die Allgemeine Erklärung der Menschenrechte
Resolution 217 A (III) vom 10.12.1948/Artikel 19
Zensoren sind Verbrecher!
BPjM: Trusted Censorship
Christliche Werte — Neine Danke!

Skripttipp #8: Notizen für jedes Verzeichnis anzeigen

von Globenaut am 2.8.09

Wohin mit Notizen und/oder Erledigungen? Benutzt man ein darauf spezialisiertes Programm und sammelt alle Notizen in einer Datei oder legt man einfach nur Textdateien an und wenn ja, wo legt man sie dann ab? Eine universelle Lösung habe ich auch nicht anzubieten, aber für Kleinigkeiten die in ein Verzeichnis gehören (etwa Erledigungen zu einem Projekt) kann man mit der Bash etwas Brauchbares basteln.

Zunächst wird die Variable PROMPT_COMMAND in der .bashrc so modifiziert, daß immer dann, wenn der Prompt angezeigt wird auch der Inhalt einer Datei ausgegeben wird. Jetzt kann man einfach immer wenn es etwas zu Notieren gibt mit seinem Texteditor eine (unsichtbare) Datei bspw. .Erledigungen anlegen und in diese seine Notizen hieninschreiben.

export PROMPT_COMMAND="if [ -a .Erledigungen ]; then echo 'Erledigungen zu diesem Verzeichnis:'; \ 
cat .Erledigungen; fi"

Diese Zeile in die .bashrc einfügen und die .bashrc neu einlesen. Befindet sich nun eine Datei .Erledigungen in dem aktuellen Vezeichnis, wird deren Inhalt jedesmal beim Aufruf des Promptes, nach einem Kommando angezeigt, andernfalls erscheint nichts:

#:~>cd Globenautblog/
Erledigungen zu diesem Verzeichnis:
    1 Skripttipp zur ToDo-Liste schreiben
    2 Kommentardarstellung überarbeiten
#:~>

Die Zeilennummerierung ist eine Funktion von cat, nämlich cat -n. Ich habe bei mir in der .bashrc ein Alias defniert, welches mir immer bei Verwendung von cat (ebenso bei grep) die Zeilennummern anzeigt:

alias cat='cat -n'
alias grep='grep -aEin --color'

Wer dieses Aliase nicht haben möchte, muss halt die PROMPT_COMMAND-Zeile anpassen und einfach ein -n nach dem cat einfügen.

Für meine Arbeitsweise hat es sich als praktisch erwiesen, zwei Dateien zu verwenden. Eine .Erledigungen und eine .Notizen:

export PROMPT_COMMAND="if [ -a .Erledigungen ]; then echo 'Erledigungen zu diesem Verzeichnis:'; \ 
cat .Erledigungen; fi; if [ -a .Notizen  ]; then echo 'Notizen zu diesem Verzeichnis:'; cat .Notizen; fi;"

Zu Erinnerung, die Lösung ist für Kleinigkeiten gedacht, werden die Listen zu groß wird es unpraktisch. Natürlich kann man auch wesentlich größere Programmabläufe an den PROMPT_COMMAND übergeben, aber da der Prompt so gut wie andauernd angesprochen wird, sollte man sich gut überlegen, wie groß solche Prgramme werden sollen. Es macht absolut keinen Sinn an dieser Stelle einen Ablauf zu integrieren, in dessen Folge man jedesmal sekundenlang auf das Erscheinen des Promptes warten muss.

Labels: , , , , , ,

#
Kommentare:
Kommentar veröffentlichen

Neuester Eintrag
Piratenblogger
Glauben ist die mutwillige Nichtbenutzung des Verstandes!
Bundestagswahl 2009: Weg mit dem Gesindel von SPD und C*U!
© 2005-2009, GlobenautDieses Blog wird unterstützt von Blogger.