gpt4 book ai didi

php - 如何在 php shell 脚本中使用参数和选项

转载 作者:搜寻专家 更新时间:2023-10-31 20:35:17 26 4
gpt4 key购买 nike

我正在尝试调试旨在通过​​命令行运行的遗留 php 脚本 (😪)。该脚本旨在采用 1 个可选参数,后跟 N 个选项。编写它的目的是让以下两种情况都有效。

案例 1:带选项的参数:

php script.php <argument> --option-a=tuesdays --option-b

情况 2:没有带选项的参数:

php script.php --option-c

在脚本中,使用以下方法获取参数和选项:

$argument = (strpos($argv[1], '-') === 0) ? '' : $argv[1];
$options = getopt('', [
'option-a:',
'option-b',
'option-c',
]);

案例 2 始终按预期工作。我收到选项,但参数为空。

案例 1 未按预期工作。我收到了参数,但 $options 数组始终为空。

我看过 the suggestion that reverses the order of the options and arguments , 所以我会通过 php script --option-c <argument> 来调用它.我不想更改它的调用方式,因为这是一个遗留脚本,天知道在哪里可以使用。

有什么方法可以使用 getopt()获取可以纠正案例 1 的选项?

最佳答案

我通过 http://php.net/getopt 找到了自己的答案. RTM。

The parsing of options will end at the first non-option found, anything that follows is discarded.

关于php - 如何在 php shell 脚本中使用参数和选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37197064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com