问题标签 [getopt]
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.
linux - 关闭 getopt_long (optarg.h) 中的缩写?
可以关闭缩写getopt_long()
吗?从手册页:
如果缩写是唯一的或与>某些已定义选项完全匹配,则可以缩写长选项名称。
我想这样做是因为我收到的一段代码规范要求标志的全长完全匹配,并且有很多标志。
perl - Perl GetOptions() 区分大小写
当我使用-r qwe
选项调用此脚本时,$list
更新为 1,这不是我所期望的。
如何使 GetOpt 区分大小写?
c - getopt 跨平台兼容性
我目前正在用 C 编写一个简单的程序,它可以接受数字命令行参数。但我也希望它有命令行选项。如果其中一个数字参数为负数,我注意到不同操作系统之间的不一致(即 getopt 有时会/有时不会混淆 -ve 作为参数)。例如:
如果我在 Mac 上和 Cygwin 下编译并运行这个程序,我会得到以下行为:
但是,如果我在 Windows 上的 Ubuntu 和 MingW 上尝试同样的事情,我会得到:
显然,将数字参数和选项放在一起有点错误 - 但是有没有办法让 getopt 以一致的方式表现?
c - 如何编译使用 getsubopt() 的代码?
我想解析表单的选项列表key1=val1, key2=val2, etc
(如选项mount -o
)。该getsubopt()
功能似乎非常适合这项任务(http://www.gnu.org/s/hello/manual/libc/Suboptions.html)。但是,当我尝试使用 gcc 编译代码时,我得到:
当我运行它时程序会出现段错误。
ruby - Ruby GetoptLong 修改 ARGV?
Ruby 的GetoptLong的文档给我的印象是它会从 ARGV 中删除已解析的选项。这是有问题的段落:
例如,如果 -a 不需要参数并且 -b 可选地接受参数,则解析 '-a 一 -b 二三' 将导致 ('-a','') 和 ('-b', 'two ') 被处理为选项/参数对,并且 'one','three' 留在 ARGV 中。
然而,情况似乎并非如此。这是我的程序:
这是输出:
(我确实检查过我使用的是 ruby 1.9.2。)
我可以手动删除选项,但这会有点令人头疼,因为根据您传递它们的方式,每个选项都可能占用数组中的一个或两个插槽(--base=foo
vs. --base foo
)。如果 GetoptLong 可以为我删除它们会方便得多。有没有办法做到这一点?
python - 如何在 Python 中使用 getopt/OPTARG?如果给出太多参数(9),如何转换参数?
如何在 Python 中使用 getopt/optarg?
c - getopt 值保持为空
我正在传递我的程序输入,我可以在 argv 中看到它们,但 getopt 似乎没有我期望的参数。
这就是我运行我的 prog 的方式:./my_prog -X -f 文件名
我总是将 optarg 设为空。为什么?
c - 那么GNU getopt 只支持中间的选项?
我正在尝试getopt
API:
http://www.gnu.org/s/hello/manual/libc/Example-of-Getopt.html#Example-of-Getopt
但我发现它只支持中间的选项?
我发现它被判断为非选择参数argv[optind]
。argv[argc-1]
是这样吗?
python - 使用 getopt 的命令行选项和参数
我正在尝试在 python 中编写一段代码来使用 getopt 模块获取命令行选项和参数。这是我的代码:
问题是我无法读取 option 的参数x
,但我可以读取y
. 我应该怎么做才能解决这个问题?
linux - getopt_long_only 分段错误
我正在尝试使用 getopt_long_only 来解析命令行。我的应用程序读取了一些命令行选项。
例如“app --alpha=1 --beta=2 --cecil=3”
只要传入有效的命令行参数,getopt_long_only 就可以正常工作。但是,如果您在末尾和其他不适当的地方使用无效的“单虚线”选项调用应用程序,则会发生段错误崩溃。这里发生了什么?似乎 getopt_long_only 对输入错误的参数没有弹性。还是我调用函数错误?
例子:
下面的代码(C++:app.cc)