我有一个 Web CMS,它允许所谓的操作 ID,即 URL。当访问这些操作 ID 时,它们会在 CMS 内执行某些操作。
我想定期执行一项操作并使用 cron 来实现此目的。尽管 cron 总是在定义的时间运行(我可以在日志中跟踪),但该操作从未执行。
http://172.16.0.47/index.php?ACT=47&id=6
为了解决这个问题,我在 shell 环境中测试了 URL 。
但是,当我使用 时wget
,它切断了&id=6
参数。我使用时也发生了同样的事情curl
。
我正在寻找这个问题的解决方案。
答案1
将 URL 用单引号引起来。发生的情况是 shell 解释了 & 符号。
curl 'http://172.16.0.47/index.php?ACT=47&id=6'
不带引号(假设您使用的 shell 配置为不是因不匹配的通配模式而出错),您将启动该命令
curl http://172.16.0.47/index.php?ACT=47
...作为后台作业,然后将 shell 变量设置id
为 string 6
。