我正在尝试通过crontab运行一个abash脚本,每次我尝试时,脚本都不会运行,我得到的错误是:“[[:Not Found”
我目前正在使用带有以下编码的while循环:
SHELL/=bin/sh
padtowidth=2
START=0
END=15
i=${START}
while [[ ${i} -le ${END} ]]
do
done
((i = i + 1))
我不确定为什么crontab不喜欢开头的双括号......
答案 0 :(得分:3)
使用bash
在crontab中显式运行脚本,因为/bin/sh
是crontab使用的默认shell。
* ... * /bin/bash /path/to/your/script.sh
我不确定SHELL/=bin/sh
做了什么,但这是一个格式错误的任务。至少它应该是SHELL=/bin/sh
。
答案 1 :(得分:1)
这是因为[[...]]
是BASH特定的。
使用以下命令将shell更改为BASH:
SHELL=/bin/bash
((...))
中不支持算术评估括号sh
(用作脚本的最后一行)