终端从包含空格的变量传递参数

时间:2012-10-16 23:34:39

标签: php shell ubuntu

在终端中如何将字符串作为包含空格的param传递。它实际上是跳过空白之后的部分而只取第一个单词。

$word = 'soccer ball'
shell_exec('casperjs test.js --word='.$word);

那么我怎样才能逃避它只运行这个命令的空白

casperjs test.js --word=soccer

2 个答案:

答案 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'

参见: