我刚刚开始将bash命令实现到我的php脚本中,前几个工作正常,我正在尝试在我的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
答案 0 :(得分: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");
答案 1 :(得分: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");