使用 atrm 删除 17:00 之前安排的所有作业

使用 atrm 删除 17:00 之前安排的所有作业

我需要一个 shell 脚本来删除 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以获得更多帮助。

相关内容