在终端中如何将字符串作为包含空格的param传递。它实际上是跳过空白之后的部分而只取第一个单词。
$word = 'soccer ball'
shell_exec('casperjs test.js --word='.$word);
那么我怎样才能逃避它只运行这个命令的空白
casperjs test.js --word=soccer
答案 0 :(得分:2)
请尝试将其括在引号中:
casperjs test.js --word="soccer ball"
答案 1 :(得分:2)
对于你所描述的情况(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'
参见: