我在PHP脚本中有以下命令:
shell_exec('cd /home/scripts/scripts; ./total.sh | jq '.hits .hits [] .fields["termListData.terms"] | .[]' | wc -l > /home/data/total.csv');
给了我:PHP致命错误:无法使用[]进行阅读......
单独从命令行执行的命令工作正常但不在php脚本中。我做错了什么?
答案 0 :(得分:1)
问题是你的命令执行中有单引号
您可以将命令拆分为两个
$jq_args = '.hits .hits [] .fields["termListData.terms"] | .[]';
$cmd = 'cd /home/scripts/scripts; ./total.sh | jq '.escapeshellarg($jq_args).' | wc -l > /home/data/total.csv';
shell_exec($cmd);