控制台命令选项不应删除空白


Console Command options shall not remove whitespaces

我在bash脚本中有一个命令:

/usr/bin/env php foo.php $@

使用此选项:

$this->addOption(
    'prefix',
    null,
    InputOption::VALUE_OPTIONAL,
    'Prefix for each commit message',
    '- '
);

当我运行命令时

bin/foo some:command --prefix 'Meh '
bin/foo some:command --prefix "Meh "
bin/foo some:command --prefix='Meh '
bin/foo some:command --prefix="Meh "

看看选项

var_dump( $input->getOption('prefix') );

然后它修剪空白

string(3) "Meh"

为什么?如何抑制这种情况或正确地将选项放入命令中?

提前感谢!

永不终止。它是

/usr/bin/env php foo.php "$@"

引号是重要的