Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cron脚本变量扩展不是很好吗?_Cron - Fatal编程技术网

cron脚本变量扩展不是很好吗?

cron脚本变量扩展不是很好吗?,cron,Cron,下面的文件位于/etc/cron.d中。Ubuntu 12.04服务器顺便说一句 zurmo_install_path="/var/www/zurmo" zurmo_commands_path="$zurmo_install_path/app/protected/commands" */1 * * * * www-data cd /var/www/zurmo/app/protected/commands && ./zurmoc jobManager super EmailAr

下面的文件位于/etc/cron.d中。Ubuntu 12.04服务器顺便说一句

zurmo_install_path="/var/www/zurmo"
zurmo_commands_path="$zurmo_install_path/app/protected/commands"

*/1 * * * * www-data cd /var/www/zurmo/app/protected/commands && ./zurmoc jobManager  super EmailArchiving >/dev/null 2>&1
*/1 * * * * www-data cd "$zurmo_commands_path" && ./zurmoc jobManager  super ProcessOutboundEmail >/dev/null 2>&1

第一项发射良好,第二项不发射。一旦我将第二行更改为使用文字路径而不是变量,它就会正常启动。然而,当我编写自己的测试cron作业来使用变量时,它们工作正常。这真是个难缠的家伙

WTF?!事实证明,一个双重嵌入变量就是问题所在。为什么会这样?您可以使用以下cron脚本进行测试:

tmpdir="/tmp"
subdir="$tmpdir/subdir"

*/1 * * * * root echo $tmpdir $subdir >/tmp/cron.out
生成的文件:

/tmp $tmpdir/subdir

是的,这是crontab变量的一个限制。
=
符号右侧的字符串按字面解释。。。参见文档(
man 5 crontab