tools.utils

Yohn Y. 2025-05-17

6:9fc60d528049 Go to Latest

tools.utils/shell/new-task

+ shell утилиты

History
1 #!/bin/sh
2 # devel.a0fs.ru -- tools:~/bin/new-task -- v0.r202505.1
3 ### CONST
4 TASK_BASE="proj/tasks"
6 ### ARGS
7 # def args
8 args_global_task=0 # Расположение директории в глобальной наддиректории
9 # вместо текущего каталога
11 ### FUNC
12 die () {
13 echo "$1" >&2
14 exit 1
15 }
17 # lib.getopts() -- v0.r202505.1
18 while getopts ":g" __OPT; do
19 case ${__OPT} in
20 \?)
21 die "ERR: Unknown -$OPTARG"
22 ;;
24 :)
25 die "ERR: -$OPTARG need arguments"
26 ;;
28 # define :: Определение необходимых нам параметров
29 g)
30 args_global_task="1"
31 ;;
33 # end define
34 esac
35 done
36 shift $((OPTIND-1))
37 # end lib.getopts()
40 ### VARS
41 task_name="$(date '+%Y%m%d') - $1"
43 if [ "${args_global_task}" -eq 1 ] ; then
44 task_dir="${HOME}/${TASK_BASE}/${task_name}"
46 else
47 task_dir="${task_name}"
48 fi
51 ### DO
52 if [ -z "$task_name" ] ; then
53 die "Нужно имя задачи для регистрации"
54 fi
56 if [ -e "$task_dir" ]; then
57 if [ ! -d "$task_dir" ] ; then
58 die "Имя директории задачи уже нанято"
60 else
61 cd "$task_dir"
62 exec $SHELL
63 fi
64 else
65 mkdir -p "$task_dir"
66 cd "$task_dir"
67 exec $SHELL
68 fi