Remova todos os trabalhos agendados antes das 17h com atrm

Remova todos os trabalhos agendados antes das 17h com atrm

Preciso de um script de shell que remova todos os trabalhos agendados antes das 17:00 com o nome de usuário como parâmetro posicional Foi isso que tentei fazer

#!/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

Responder1

  1. Você está usando aspas erradas no comando date. Você está usando aspas simples "curvas" ( ‘...’) em vez de crases ( `...`), mas use $(...)em vez de crases.
  2. Não são permitidos espaços ao redor =para uma atribuição de variável
  3. O +não deve ser seguido de espaço.

Usar:currentTime=$( date +%k%M )

Também o nome da função que vocêdefinir( check_time_tu_run)
não é o nome da função que vocêchamar( check_time_to_run)

Existem outros erros: cole seu código emhttps://www.shellcheck.netpara obter mais assistência.

informação relacionada