温馨提示×

如何用Linux脚本自动化TODO管理

小樊
87
2024-09-14 12:05:20
栏目: 智能运维

要使用Linux脚本自动化TODO管理,你可以创建一个简单的bash脚本来处理常见的任务管理操作

  1. 首先,在你的主目录下创建一个名为todo的文件夹,用于存放你的TODO文件。
mkdir ~/todo
  1. 接下来,创建一个名为todo.sh的脚本文件,并使用文本编辑器打开它。例如,使用nano编辑器:
nano todo.sh
  1. 将以下脚本内容复制到todo.sh文件中:
#!/bin/bash

# 设置TODO文件的路径
TODO_FILE="$HOME/todo/todo.txt"

# 如果文件不存在,则创建一个新的TODO文件
if [ ! -f "$TODO_FILE" ]; then
    touch "$TODO_FILE"
fi

# 显示帮助信息
function show_help {
    echo "Usage: todo.sh [command] [arguments]"
    echo
    echo "Commands:"
    echo "  add [task]       Add a new task"
    echo "  list             List all tasks"
    echo "  done [task_id]   Mark a task as done"
    echo "  help             Show this help message"
}

# 添加新任务
function add_task {
    if [ -z "$1" ]; then
        echo "Error: No task provided."
        exit 1
    fi

    echo "$(date +%Y-%m-%d) $1" >> "$TODO_FILE"
    echo "Task added successfully."
}

# 列出所有任务
function list_tasks {
    if [ ! -s "$TODO_FILE" ]; then
        echo "No tasks found."
        exit 0
    fi

    echo "Tasks:"
    cat -n "$TODO_FILE"
}

# 标记任务为完成
function mark_done {
    if [ -z "$1" ]; then
        echo "Error: No task ID provided."
        exit 1
    fi

    sed -i "${1}d" "$TODO_FILE"
    echo "Task marked as done."
}

# 检查命令参数
if [ -z "$1" ]; then
    show_help
    exit 1
fi

case "$1" in
    add)
        shift
        add_task "$*"
        ;;
    list)
        list_tasks
        ;;
    done)
        shift
        mark_done "$1"
        ;;
    help)
        show_help
        ;;
    *)
        echo "Error: Invalid command."
        show_help
        exit 1
        ;;
esac
  1. 保存并退出文本编辑器(在nano中,按Ctrl + X,然后按Y,最后按Enter)。

  2. 为脚本添加可执行权限:

chmod +x todo.sh
  1. 现在,你可以使用这个脚本来管理你的TODO列表。例如:
  • 添加一个新任务:./todo.sh add Buy milk
  • 列出所有任务:./todo.sh list
  • 标记一个任务为完成:./todo.sh done 1(其中1是任务ID)

你还可以将此脚本移动到你的PATH中的某个目录(例如/usr/local/bin),以便在任何位置都可以直接运行它,而无需指定脚本的完整路径。

0