繁体   English   中英

在命令行上传递多部分变量

[英]Passing Multi-Part Variables on the Command Line

我有一个从命令行运行的php文件。 该脚本具有一个必需的未命名元素(file.xml),但允许某些选项(例如--conf LocalSettings.php)。

php importDump.php --conf LocalSettings.php file.xml

我的问题是我的选项之一需要传递一个设置(setting1)。 这适用于大多数脚本,例如以下脚本:

php runJobs.php --conf LocalSettings.php setting1

但是没有那些具有必需的未命名元素的元素,例如:

php importDump.php --conf LocalSettings.php setting1 file.xml

我尝试将零件用引号引起来,因此将其视为一段代码,但无法正常工作。

php importDump.php --conf "LocalSettings.php setting1" file.xml

我唯一可以修改的是LocalSettings.php脚本以及如何在命令行上调用它们。

我如何才能使该命令在需要未命名部分的命令(importDump.php)和不需要此命令的部分(runJobs.php)上运行?

作为参考,我使用$argv[3]在LocalSettings.php脚本中获取设置输入。

不知道为什么引号对您不起作用。

$ php arg_test.php --conf "test foo" file.xml
array(4) {
  [0]=>
  string(12) "arg_test.php"
  [1]=>
  string(6) "--conf"
  [2]=>
  string(8) "test foo"
  [3]=>
  string(8) "file.xml"
}

arg_test.php只是执行<?php var_dump($argv)

但是,请考虑使用Symfony Console或其他一些可以简化CLI使用的库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM