Удалить все запланированные до 17:00 задания с atrm

Удалить все запланированные до 17:00 задания с atrm

Мне нужен скрипт оболочки, который удаляет все запланированные до 17:00 задания с именем пользователя в качестве позиционного параметра. Вот что я пытался сделать

#!/bin/bash
currentTime = ‘date + %k%M’
check_time_tu_run()
{
  tempTime=$1
  if 
    [ $tempTime -gt 000 -a $tempTime -lt 1700];
  then
    for i in `atq | awk '{print $1}'`;do atrm $i;done
  else 
    echo “Action is not in the period of time”
  fi

}

check_time_to_run $currentTime

решение1

  1. Вы используете неправильное кавычки вокруг команды date. Вы используете "закругленные" одинарные кавычки ( ‘...’) вместо обратных кавычек ( `...`), но используете $(...)вместо обратных кавычек.
  2. Не допускается использование пробелов вокруг =переменной.
  3. После этого +не должно быть пробела.

Использовать:currentTime=$( date +%k%M )

Также имя функции, которую выопределять( check_time_tu_run)
— это не имя функции, которую вывызов( check_time_to_run)

Есть и другие ошибки: вставьте свой код вhttps://www.shellcheck.netдля получения дополнительной помощи.

Связанный контент