Не могу понять эту ошибку сценария оболочки: неожиданный конец файла - PullRequest
0 голосов
/ 17 января 2019

Уже десятилетиями я пишу сценарии оболочек, но я не могу определить, в чем проблема с этим ... не так ли?

Получение ошибки: ./tasks.sh: строка 57: синтаксическая ошибка: неожиданный конец файла

НЕТ, это не в стиле dosmode lineendings.

#!/bin/sh

export TZ='US/Central'
export PATH="$PATH:$HOME/bin"

#### Function: die
die() { exit 0 ; }

#### Function: tasks dayname
tasks() { ls ${1}_* 2>/dev/null }

#### Function: runtasks task [task2]
runtasks() {
 for TASK
 do
  DT=$(date '+%Y-%m-%d')
  TM1=$(date '+%H:%M:%S')
  EPOCH=$(date '+%s')
  TSK=$($TASK)
  TM2=$(date '+%H:%M:%S')
  echo "$DT,$TM1,$TM2,$EPOCH,$TASK,$TSK"
 done
}

# DAILY PROCESSING:
TASKDIR=$HOME/.daily

cd $TASKDIR 2>/dev/null || die

exec 2>> 0daily.err

DAY=$(date +%a|tr '[A-Z]' '[a-z]')
DEF="$DAY all"
OUT=''

# args can be all or a day else just use today + all for the daily tasks to run:
TODO="${1:-${DEF}}"

for WORK in $TODO
do
  RAN=''
  TASKS=''
  case "$WORK" in
    sun|mon|tue|wed|thu|fri|sat|all)
       TASKS=$(tasks $WORK)
       RAN=$(runtasks $TASKS)
       if [ "$RAN" != "" ] ; then
         OUT="${OUT}${RAN}"
       fi
       ;;
    *) break ;;
  esac
done

test "$OUT" && echo "$OUT" >> 0daily.out

Смысл сценария в том, что при помощи планировщика раз в день выполняются любые задачи внутри $ HOME / .daily

например: .daily / all_backup_machine.sh или: .daily / mon_compact_mail_folders.sh

Думаю, вы поняли меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...