CLI Todo List Manager (Bash Script)
Description
A fully functional ToDo list CLI app in Bash. Add, remove, list, and mark tasks as done — stored in a local .todo file.
Code Snippet
#!/bin/bash
FILE=~/.todo
function list() {
echo -e "\nTODO List:\n"
nl -w2 -s'. ' $FILE 2>/dev/null || echo "No tasks yet."
}
function add() {
echo "$1" >> $FILE
echo "Task added!"
}
function done() {
sed -i "${1}s/^/[x] /" $FILE
echo "Task marked as done!"
}
case $1 in
add) shift; add "$*";;
done) done "$2";;
list) list;;
*) echo "Usage: $0 {add|done|list}";;
esac