0

我刚刚开始在我的 php 脚本中实现 bash 命令,前几个工作正常现在我正在尝试在我的 php 脚本中执行以下 bash 命令

exec("awk -F: '{printf "www.example.com/2/tks.php?account=%s%%3A%s\n" ,$1, $2 }' < /opt/lampp/htdocs/$filename > /opt/lampp/htdocs/2.txt");

在我把它放进去之前,我从我的 php 脚本中得到的错误是

Parse error: syntax error, unexpected 'www' (T_STRING) in /opt/lampp/htdocs/index.php on line 54
4

2 回答 2

1

您必须在字符串中转义双引号:

exec("awk -F: '{printf \"www.example.com/2/tasks.php?account=%s%%3A%s\\n\" ,$1, $2 }' < /opt/lampp/htdocs/$filename > /opt/lampp/htdocs/2.txt");
于 2013-07-25T21:33:43.803 回答
0

该错误是因为您没有在printf语句中为您的语句转义双引号exec

在当前状态下,PHP 将"awk -F: '{printf "其视为字符串的第一部分,因为它们用双引号括起来。要告诉 PHP 忽略其他引号,您可以使用反斜杠。

将其更改为:

exec("awk -F: '{printf \"www.example.com/2/tks.php?account=%s%%3A%s\n\" ,$1, $2 }' < /opt/lampp/htdocs/$filename > /opt/lampp/htdocs/2.txt");
于 2013-07-25T21:33:57.470 回答