在终端中,如何将字符串作为包含空格的参数传递。它实际上跳过了空格之后的部分,只接受第一个单词。
$word = 'soccer ball'
shell_exec('casperjs test.js --word='.$word);
那么我怎样才能逃脱它只运行这个命令的空格
casperjs test.js --word=soccer
尝试用引号括起来:
casperjs test.js --word="soccer ball"
对于您描述的情况(shell中空格旁边还有其他特殊字符),PHP具有以下escapeshellarg
功能:
$word = 'soccer ball';
$command = sprintf('casperjs test.js --word=%s', escapeshellarg($word));
$result = shell_exec($command);
我注意保留$word
作为一个论点的价值:
casperjs test.js --word='soccer ball'
另见: