我使用todo-txt来管理我的待办事项列表。我认为它是一个很棒的工具,但我希望我能有更多的列表,现在它的工作方式是有一个bash脚本todo.sh
管理一个包含多个条目的列表。我想要多个列表。是否可以创建todo.sh
的副本,然后更改副本和配置文件中的所有环境变量,并以不同的名称同时存在脚本的两个工作副本?然后是贝斯特我尝试但它没有工作,我最终收到以下错误:Fatal Error: is not a directory
更多精确度我试图:
我认为我可能误入歧途的主要地方是重命名环境变量。我甚至不确定我所做的事情是否可行。我已将我正在使用的所有文件压缩,可在此处找到:https://drive.google.com/open?id=0Bze975WJ_w5KM21QRVZZblFidzQ
编辑:使用@ cb0&#39方法:
~ pwd
/Users/max
~ ls | grep todo
todo
todo-projects
todo.cfg
todo2
~ ls todo
README.md done.txt evidence.log report.txt todo.txt todo.txt.bak
~ ls todo2
~ cd .todo
~/.todo ls -a
. .. .DS_Store .todo.cfg list2
/Users/max/.todo/.todo.cfg
# Your todo.txt directory
export TODO_DIR="/Users/max/todo"
# Your todo/done/report.txt locations
export TODO_FILE="$TODO_DIR/todo.txt"
export DONE_FILE="$TODO_DIR/done.txt"
export REPORT_FILE="$TODO_DIR/report.txt"
/Users/max/.todo/list2/.todo2.cfg
# Your todo.txt directory
export TODO_DIR="/Users/max/todo2"
# Your todo/done/report.txt locations
export TODO_FILE="$TODO_DIR/todo.txt"
export DONE_FILE="$TODO_DIR/done.txt"
export REPORT_FILE="$TODO_DIR/report.txt"
/Users/max/.zshrc
alias t='todo.sh -d /Users/max/.todo/.todo.cfg'
alias t2='todo.sh -d /Users/max/.todo/list2/.todo2.cfg'
答案 0 :(得分:1)
您无需复制脚本。我只是看了一下它,并使用2个不同的待办事项清单工作。
假设您已在系统中的某个位置安装了该脚本的单个副本,并可以使用todo.sh
进行调用。
现在,您在~/.todo/config
下的现有配置中包含以下内容:
export TODO_DIR=$(dirname "$0")
export TODO_FILE="$TODO_DIR/todo.txt"
export DONE_FILE="$TODO_DIR/done.txt"
export REPORT_FILE="$TODO_DIR/report.txt"
因此,您的任务将保存在“〜/ .todo /".
下的不同文件中现在您要创建第二个待办事项列表。因此,创建第二个目录,例如在~/.todo/list2/
下。然后将~/.todo/config
复制到~/.todo/list2/configList2
并按照以下方式进行编辑:
export TODO_DIR=~/.todo/list2/
export TODO_FILE="$TODO_DIR/todo.txt"
export DONE_FILE="$TODO_DIR/done.txt"
export REPORT_FILE="$TODO_DIR/report.txt"
您现在创建了第二个配置文件,表明它的目录位于“”〜/ .todo / list2 /".
现在在你的“.bashrc”或“.zshrc”中创建一个别名。
alias todo2="todo.sh -d ~/.todo/list2/config"
这只会调用todo.sh
,但也会指定配置文件参数-d
。
现在使用source重新加载文件。
source ~/.zshrc
现在您有2个可以使用的列表。让我们首先将项目添加到第一个列表:
>todo.sh list
full:
-- TODO: 0 of 0 tasks shown
>todo.sh add "List 1, ToDo Item"
>todo.sh list
sh: todo.sh full:
2 List 1, ToDo item
-- TODO: 1 of 1 tasks shown
然后是另一个到第二个列表。
>todo2 list
sh: todo.sh
full:
-- TODO: 0 of 0 tasks shown
>todo2 add "List 2, ToDo item"
>todo2 list
sh: todo.sh
full:
1 List 2, ToDo Item
--
TODO: 1 of 1 tasks shown
我希望这就是你要找的东西。
答案 1 :(得分:0)
在快速查看代码之后,我会说明显的解决方案是复制安装脚本的整个目录。