问题标签 [getopt-long]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
453 浏览

perl - Getopt::Long 可以容纳变量选项名称吗?

我正在编写一个可以执行以下操作的脚本:

脚本名称 --resource1=xxx --resource2=xxx

但这可以达到50+。有没有办法让 GetOpt 接受动态选项名称?

0 投票
3 回答
17991 浏览

perl - 如何使用 GetOptions 实用程序处理 Perl 中的“可选”命令行参数?

有许多 Perl 教程解释了如何使用 GetOptions 实用程序仅处理预期的命令行参数,否则退出并显示适当的消息。

在我的要求中,我有以下可选的命令行参数,例如,

  • -z zip_dir_path :压缩输出
  • -h:显示帮助。

我尝试了一些对我不起作用的 GetOptions 组合。
所以我的问题是:如何使用 GetOptions 来处理这个要求?

编辑:-z 需要'zip 目录路径'

EDIT2:我的脚本具有以下强制性命令行参数:

  • -in input_dir_path : 输入目录
  • -out output_dir_path :输出目录

这是我的代码:

希望这个编辑增加更多的清晰度。

0 投票
1 回答
1180 浏览

perl - 使用 Getopt::Long 检测不明确的选项

有没有一种简单的方法可以使用 Perl 模块 Getopt::Long 来检测不明确的选项?

例如:

默认情况下,Getopt::Long 支持唯一缩写。对于非唯一的缩写,会引发警告,脚本会继续其愉快的方式。

我希望我的脚本在立即通知的模棱两可的选项上立即终止,并防止它以意外的默认值运行。

0 投票
4 回答
5925 浏览

perl - Getopt::Long 将带空格的字符串放入变量中

我正在制作一个使用 Getopt::Long 解析命令行参数的 perl 脚本。但是,我有一个可以接受字符串(带空格)的参数。如何将整个字符串放入变量中。例如:

我需要变量 $string 中的“blah blah blah blah yup”。我知道 Getopt::Long 支持一个参数的多个输入,当您知道您将拥有多少时(我不知道)。这可能吗?

0 投票
1 回答
1234 浏览

c - getopt_long 问题

我从正在编写的程序中解析参数时遇到问题,代码如下:

当我运行我的程序时,我得到了一些奇怪的输出:

0 投票
1 回答
601 浏览

ruby - ruby 的 GetOptLong 可以处理选项参数中的空格吗?

我想要做的是为一个 ruby​​ 脚本中的一个选项传递一个参数,该脚本将是一个 unix 命令。该命令可能(可能会)涉及 grep、管道和可能的许多其他内容。本质上,我想知道的是,是否可以设置 GetOptLong 选项以接受任何字符作为参数。对于它的价值,我不能使用 OptionParser,而且可能也不能使用 slob(或其他任何名称)。

谢谢,-罗伯

0 投票
2 回答
245 浏览

perl - 在 Perl 中使用 Getopt::Long 获取多维数据结构

我让下面的代码可以根据需要工作,但想知道是否有更好的方法可以不带引号。

我得到了令人满意的输出:

但是,我想像这样使用它,不带引号:

key1 和 key2 在这里是哈希键,并且是唯一的。

有什么想法/建议吗?

0 投票
2 回答
787 浏览

perl - 使 Perl Getopt::Long 将反斜杠 ( \ ) 保留在字符串中

我的一位同事编写了一个 perl 脚本,要求输入用户的 windows 域/用户名,当然我们输入以下格式domainname\username。Getopt:Long 模块然后将其转换为一个字符串,去掉“\”字符并呈现不正确的字符串。当然,我们可以要求所有用户输入他们的域/用户组合,domainname\\username但我真的不想因为“修复用户,而不是程序”而感到内疚。我们还使用为此制作的模块,我将调用它,OurCompany::ColdFusionAPI因为它访问 ColdFusion。

我们的代码如下所示:

如果我添加该行say $username,那么它只会给出没有'\'的字符串。我怎样才能让 perl 保留'\'?类似于read -rbash 的东西。

0 投票
5 回答
2839 浏览

perl - 如何将 Getopt::Long 选项传递给也是一个选项的子例程?

我正在尝试设置 Getopt::Long 来处理来自配置脚本的参数。

这是我的开胃菜;

奇怪的是,当我用这样的东西运行我的脚本时,我遇到了一个问题,

./config.pl -a -c config.xml

它不会打印-c选项,但如果我这样运行它,

./config.pl -c config.xml -a

它应该像它一样工作。

我想我明白为什么,这与订单执行有关吗?

问题是我该如何解决?我应该将 Getopt::Long 与 @ARGV 结合使用吗?

最后,我试图让命令行参数传递到我正在调用的子程序中。因此,如果-a or --add我希望在-c or --config调用子程序时将选项传递给子程序。

有任何想法吗?

0 投票
2 回答
582 浏览

c - 如何使用 getopt_long 处理 c 中的参数

我真的不明白如何使用 getopt_long 函数正确处理 c 中的命令行参数,我创建了以下代码:

输出很奇怪,因为我们可以将垃圾数据作为命令行参数传递,而我的程序不检查这个错误!我该如何解决。

执行示例:

谢谢你的帮助。