Todolist in der shell mit todo.sh

Author: PlaNet Fox <howtoforge [at] planetfox.de [dot] de>

Version 1.0

Create 11.03.08

Diese Anleitung veranschaulicht, wie man mit einem einfachen Script eine Todolist einrichtet die über die commandline funktioniert mittels eines bashscript.

todo.sh ist ein grossartiges shell script mit dem man eine todotask anlegen, editieren , sortieren und durchsuchen einer todo.txt datei von der commandline aus. Markiere und archiviere Aufgaben die du fertig hast als done.txt datei mit todo.sh als gelösst.

 


1. Download todo.sh Script und unzipp

user@howtoforge:~$ wget http://todotxt.com/download/todo.sh.zip

Wir erstellen uns ein verzeichnis für das script

user@howtoforge:~$ mkdir todo

Wir kopieren die todo todo.sh.zip in den ordner todo

user@howtoforge:~$ mv todo.sh.zip todo

Nun entpacken wir die todo.sh.zip

Verzeichniswechsel

user@howtoforge:~$ cd todo

user@howtoforge:~/todo$ unzip todo.sh.zip todo

Nun löschen wir die todo.sh.zip

user@howtoforge:~/todo$ rm todo.sh.zip


2. .todo bearbeiten

Wir haben in unserem todoverzeichnis derzeit folgende dateinen+

user@howtoforge:~/todo$ ls -la
total 28
drwxr-xr-x 2 user user 4096 2008-03-11 11:16 .
drwxr-xr-x 30 user user 4096 2008-03-11 11:15 ..
-rw-r--r-- 1 user user 953 2006-07-07 20:33 .todo
-rwxr-xr-x 1 user user 13194 2006-07-29 22:20 todo.sh

Wir legen wir fest wo wir unsere todoliste speichern möchten dazu muss die .todo bearbeitet werden

user@howtoforge:~/todo$ nano .todo

Wir bearbeiten fogende Zeile TODO_DIR="/home/gina/docs/todo"(Zeile 4) und passen diese für uns an

TODO_DIR="/home/user/todo/task"

Natürlich sollten wir noch ein verzeichnis erstellen für unsere Tasks und erstellen dort die todo.txt

user@howtoforge:~/todo$ mkdir task

user@howtoforge:~/todo$ touch todo.txt


3. Dateirechte

Wir ändern die rechte für die todo.sh

user@howtoforge:~/todo$ chmod +x todo.sh


4. Tasks anlegen

Nun legen wir mal einen Task an dies geschiet mit add

user@howtoforge:~/todo$ ./todo.sh add Logfiles überprüfen

Prüfen ob nun der Task hinzugefügt wurde mit list

user@howtoforge:~/todo$ ./todo.sh mit list


user@howtoforge:~/todo$ ./todo.sh list
01 Logfiles überprüfen
--
TODO: 1 tasks in /home/user/todo/task/todo.txt.

5. Tasks Löschen

Um Task wieder zu löschen führen wir folgendes aus

user@howtoforge:~/todo$ ./todo.sh del 01

Wir werden gefragt ob wir wirklich Löschen wollen und können dies mit y bestätigen

user@howtoforge:~/todo$ ./todo.sh del 01
Logfiles überprüfen
Delete 'Logfiles überprüfen'? (y/n)

6. Tasks als gelösst markieren

Um Task als gelösst oder erledigt zu markieren wird do verwendet und die entsprechende nummer des tasks

user@howtoforge:~/todo$ ./todo.sh do 01

Nun sollt das so aussehn wenn man dies Task über list ausgibt

user@howtoforge:~/todo$./todo.sh list
01 x 2008-03-11 logfiles löschen
--
TODO: 1 tasks in /home/user/todo/task/todo.txt.

Danach kann man das ganze archivieren mit dem befehl archive und der Tasknummer

user@howtoforge:~/todo$ ./todo.sh archive 01

Nun sollten die todoliste leer sein aber in der done.txt folgendes stehn

cat /home/user/todo/task/done.txt
x 2008-03-11 logfiles löschen

7. Hilfe und weitere Optionen

Weitere Optionen kann man finden wenn man folgendes eingibt

user@howtoforge:~/todo$ ./todo.sh -h

Usage: todo.sh [-fhpqvV] [-d todo_config] action [task_number] [task_description]

Actions:
add "THING I NEED TO DO p:project @context"
a "THING I NEED TO DO p:project @context"
Adds TODO ITEM to your todo.txt.
Project and context notation optional.
Quotes optional.

append NUMBER "TEXT TO APPEND"
app NUMBER "TEXT TO APPEND"
Adds TEXT TO APPEND to the end of the todo on line NUMBER.
Quotes optional.

archive
Moves done items from todo.txt to done.txt.

del NUMBER
rm NUMBER
Deletes the item on line NUMBER in todo.txt.

do NUMBER
Marks item on line NUMBER as done in todo.txt.

list [TERM...]
ls [TERM...]
Displays all todo's that contain TERM(s) sorted by priority with line
numbers. If no TERM specified, lists entire todo.txt.

listall [TERM...]
lsa [TERM...]
Displays all the lines in todo.txt AND done.txt that contain TERM(s)
sorted by priority with line numbers. If no TERM specified, lists
entire todo.txt AND done.txt concatenated and sorted.

8. Schlusswort und Links

Es ist natürlich möglich das ganze weiter noch auszubauen mit E-mail oder Messenger Benachrichtigung aber soweit will ich jetzt nicht gehn hier. Auf der Entwicklerseite finden sich diesbezüglich noch Ideen dazu.

Links

http://todotxt.com/
Viel Erfolg wünscht PlaNet Fox

0 Kommentar(e)

Zum Posten von Kommentaren bitte