CLI Todo List Manager (Bash Script)

By: fyvo August 4, 2025 Web Development

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

Discussion (0)