【发布时间】:2014-10-08 21:38:26
【问题描述】:
我的 perl 脚本存在于 cgi-bin/rel 位置。这段代码的 sn-p 有问题:
system("./upd_test.sh $res_file $label >log/upload.log 2>&1 &"); ->does not work
system("./upd_test.sh"); ->works fine
我很不明白为什么会这样。使用 Apache 服务器。
perl 脚本的文件权限是
-rwxr-xr-x 1 root apache 1935 Oct 8 12:37 upload_label.pl
shell 脚本的文件权限是
-rwxrwxr-x 1 root apache 945 Oct 8 14:27 upd_test.sh
如果我可以在没有参数的情况下调用 shell 脚本,为什么当我使用参数调用它时会出现问题?该脚本根本不会被调用。我在 shell 脚本中添加了一个 print 写入 /tmp 位置以验证它是否被执行。
我刚刚发现如果我删除重定向它工作正常,所以 system("./upd_test.sh $res_file $label") 工作正常,但我想重定向日志,因为它对我的工作非常重要。
【问题讨论】:
-
Re "脚本根本没有被调用",你怎么知道的?如果这是真的,shell 将向 STDERR 发出错误。你遇到了什么错误?
-
您已更新问题,但未回答问题。你得到什么错误?