【发布时间】:2013-07-10 16:06:20
【问题描述】:
我有一个只是清理目录的 shell 脚本,但我想在我的 php 代码中使用“at”命令调用它。
我在将 at 命令参数提供给它正在调用的 shell 脚本时遇到问题,以便它为 shell 脚本提供要删除的正确文件。
shell_exec('at -f cleanup.sh $filename now + 30 minutes');
这失败并返回这是一个错误的时间规范。
这种方式虽然可行...
shell_exec('at -f cleanup.sh now + 30 minutes');
它在 30 分钟后运行 at cleanup.sh,但我忘记了我想给 shell 一个参数以便它可以删除特定文件的事实。每次运行程序时文件名都会改变。
【问题讨论】:
-
为什么没有包装器 sh?
-
你这是什么意思?
-
at -f cleanup.sh“从文件而不是标准输入读取作业”,它不执行cleanup.sh,所以你不能给它参数。作为一种选择,您可以编写一个新的 cleanup.sh,其中包含已嵌入的文件名。