从含有可变空白终端传递参数(Terminal passing arguments from vari

2019-09-24 05:21发布

在终端如何通过字符串作为PARAM包含空格。 它实际上跳过空白之后的部分来了,只需要第一个字。

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

所以,我怎么能逃脱空白它只能运行此命令

casperjs test.js --word=soccer

Answer 1:

对于像你描述的例(有其他特殊字符旁边壳空间),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'

见还有:

  • 检测危险的unix命令行元字符


Answer 2:

尝试在引号引起的:

casperjs test.js --word="soccer ball"


文章来源: Terminal passing arguments from variable containing whitespace
标签: php shell ubuntu