[英]trying to execute a bash command in my apache server through my php script but getting error
我剛剛開始將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
您必須在字符串中轉義雙引號:
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");
該錯誤是因為您沒有在exec
語句中轉義printf
語句的雙引號。
在當前狀態下,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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.