我想获取命令的输出php -r 'echo get_cfg_var("some_var");'以根据预定义的值对其进行检查。目前,我有以下代码:variableName := "default_mimetype"cmd := exec.Command("php", "-r", "'echo get_cfg_var(\"" + variableName + "\");'")out, err := cmd.CombinedOutput()跑完后,err.Error() 返回 "exit status 254"out 是 "PHP Parse error: syntax error, unexpected end of file in Command line code on line 1"是什么导致了这个错误?我没有正确地逃避某些事情吗?
1 回答
![?](http://img1.sycdn.imooc.com/545861b80001d27c02200220-100-100.jpg)
皈依舞
TA贡献1851条经验 获得超3个赞
问题是你的论点。如果您更改已写入 shell 命令的内容,它将如下所示:
$ php -r "'echo get_cfg_var(\"default_mimetype\");'"
您会注意到在导致语法错误的第二个参数周围有一组额外的引号。您可以通过将您的更改exec.Command
为以下内容来解决此问题:
cmd := exec.Command("php", "-r", "echo get_cfg_var(\"" + variableName + "\");")
- 1 回答
- 0 关注
- 178 浏览
添加回答
举报
0/150
提交
取消