问题标签 [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 投票
3 回答
539 浏览

php - 在 linux 上使用 Getopt::Long 驱动系统命令

我正在尝试使用以下 perl 驱动程序执行带有参数的 php 脚本:

但似乎有问题:

由于 ls 系统命令运行良好,但带参数的 php 命令却没有

此 perl 脚本的命令行参数可以是:

-a 10 -h ktest.test.net -t 5 -un admin -pw adminpassword -p "acViewer/index.html?StartDate=20090926040000&EndDate=20111220235959"

0 投票
1 回答
2813 浏览

c - C 中使用 getopt_long() 的强制选项

使用 C/C++,getopt_long()可用于解析命令行参数。是否可以告诉函数某些选项是强制性的?例如,如果在没有提及下面的端口的情况下调用getopt_long解析应该给出错误?startServer

./startServer -port 80

注意:我不是说选项参数是强制性的,而是选项本身。

0 投票
1 回答
603 浏览

java - java gnu getopt - 如何使其不区分大小写?

我正在为 java 使用 gnu 的 getopt 库。如何使长选项不区分大小写?即我想--switch被对待--Switch。默认行为似乎区分大小写,我没能找到另外定义的地方。

谢谢

0 投票
3 回答
760 浏览

linux - 关闭 getopt_long (optarg.h) 中的缩写?

可以关闭缩写getopt_long()吗?从手册页:

如果缩写是唯一的或与>某些已定义选项完全匹配,则可以缩写长选项名称。

我想这样做是因为我收到的一段代码规范要求标志的全长完全匹配,并且有很多标志。

0 投票
1 回答
602 浏览

perl - 如何在选项的子项中访问 Getopt::Long 选项的值?

我的目标是有一个--override=f选项来操纵其他两个选项的值。诀窍是弄清楚如何在 GetOptions 检测到命令行上存在该选项时执行该选项的值(f=f指示符中匹配的部分) 。sub

这是我的做法:

该代码似乎可以像我想要的那样处理选项和覆盖。我发现在sub,$_[0]中包含选项的名称(名,即使它在命令行上缩写),并$_[1]包含值。魔法。

我还没有看到这个文档,所以我担心我是否在不知不觉中使用这种技术犯了任何错误。

0 投票
2 回答
3739 浏览

perl - Perl Getopt::Long 支持参数的空格

我有一个 Perl 脚本,它使用 GetOpts long。像这样的命令很容易处理:

我想要实现的是允许用户在参数之间留出空格。

例如

问题是GetOpt::Long内部用于@ARGV根据需要设置变量,并且空格会更改@ARGV数组,这反过来只会将“构建”作为操作,而仅将“聊天”作为脚本的模块,而忽略其余的参数通过。

有没有一种简单的方法来解析上面 Perl 中的命令行?

我希望有,因为否则我将不得不使用一种非常老套的方法来更改@ARGV数组,然后再将其传递给 GetOpts。

是否还有其他强大的库可以为我做到这一点?

---------------------------------------量身定做的脚本------- -------------

0 投票
2 回答
6576 浏览

ruby - How to use getoptlong class in ruby?

I need help using getoptlong class in Ruby. I need to execute command prog_name.ruby -u -i -s filename. So far I can only execute it with prog_name.ruby -u filename -i filename -s filename.

This is my getoptlong code:

0 投票
1 回答
1170 浏览

ruby - Ruby GetoptLong 修改 ARGV?

Ruby 的GetoptLong的文档给我的印象是它会从 ARGV 中删除已解析的选项。这是有问题的段落:

例如,如果 -a 不需要参数并且 -b 可选地接受参数,则解析 '-a 一 -b 二三' 将导致 ('-a','') 和 ('-b', 'two ') 被处理为选项/参数对,并且 'one','three' 留在 ARGV 中。

然而,情况似乎并非如此。这是我的程序:

这是输出:

(我确实检查过我使用的是 ruby​​ 1.9.2。)

我可以手动删除选项,但这会有点令人头疼,因为根据您传递它们的方式,每个选项都可能占用数组中的一个或两个插槽(--base=foovs. --base foo)。如果 GetoptLong 可以为我删除它们会方便得多。有没有办法做到这一点?

0 投票
2 回答
825 浏览

posix - 我应该期望 POSIX 包含 getopt.h 吗?

据此 POSIX 库不包括getopt.h. 但是,我在以下位置找到了这个unistd.h

这是否意味着getopt.h包含时隐含包含unistd.h?我的意思是,上面的代码是我应该从 unistd 头文件的所有实现中得到的,还是只是我的特定版本中的代码?此外,__USE_POSIX2宏是在 POSIX.2 及更高版本中定义的,还是仅适用于 POSIX.2?

0 投票
4 回答
1944 浏览

perl - 我可以在 perl 中多次调用 Getopts 吗?

我是 perl 的菜鸟,所以请尽量对我的这个问题保持耐心。

似乎如果我多次调用 perl Getopts::Long::GetOpts 方法,第二次调用将被完全忽略。

  1. 这正常吗??(为什么)

  2. 这个过程的替代方案是什么?

(实际上我已经编写了一个模块,我在其中进行了 GetOpts 调用,使用我的模块的脚本也尝试这样做,但似乎脚本没有获得所需的选项)

谢谢,尼拉吉