问题标签 [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.

0 投票
1 回答
846 浏览

c - 将 getopt 与 gdb 一起使用

刚刚纳入getopt我的main()功能

getoptoptarg为每次调用设置全局变量

在调用后总是(例如)单步main()执行gdb,但仍按预期输出 cmd 行 arggetopt()optargNULL(gdb) p optargprintf("%s\n", optarg)

这是怎么回事?为什么两者不一样?

这是 gdb 的问题以及它如何尝试检查全局变量还是发生了其他事情?

0 投票
4 回答
13022 浏览

bash - 没有 cmd 时 getopts 打印帮助。行参数匹配

我正在尝试在 bash 中使用 getopts 来解析命令行参数,但如果没有匹配的参数(或没有给出 cmdline 参数),我无法弄清楚如何实现“默认”操作。

这是迄今为止我尝试过的稍微简化的版本:

有没有(简单的)方法可以让它调用 print_help;2号出口;在不匹配的输入上?

0 投票
1 回答
196 浏览

shell - 如何开发一个可以在 UNIX shell 脚本中实现某些 du 功能的脚本

当我想编写脚本来执行一些命令时,我对如何在 UNIX shell (/bin/sh) 中实现一些 du 函数有一些疑问。

1) 为避免与真正的 du 命令混淆,如何将 du 命名为新名称,例如“disku”?

2)我想使用“getopt”来接受命令行参数,该参数以绝对或相对表示法指定起始目录的名称。(例如,如果当前工作目录是 /home 并且我们想要处理目录 /home/foo 及其所有子目录,那么命令行可以是:

那么如何编写一个脚本来列出目录中的每个文件并将其大小报告为 512 字节单元的数量,四舍五入到下一个 512 字节单元。

那么如何使用内置的 getopt 函数来解析命令行参数。?

那么如何实现 h 和 -s 选项呢?

干杯

0 投票
2 回答
4599 浏览

c - Getopt 转移 optarg

我需要这样调用我的程序:

我从 argv[1] 中打招呼,但我在使用值栏时遇到问题,我是否应该将“r:”更改为其他内容?

我知道我可以通过 argv 来做到这一点,但是有没有办法用 getopt 与 bash 类似的方式来做到这一点?

谢谢。

0 投票
2 回答
273 浏览

haskell - 选项库,例如用于 Haskell 的 Google GFlags

我有兴趣拥有与 Google 的 Haskell 标志库非常相似的东西。

这是 gflags 的简短介绍,说明了我为什么喜欢它: http: //gflags.googlecode.com/svn/trunk/doc/gflags.html

我查看了 Hackage 上的各种 getopt 类库,但没有找到与 gflags 的简单性和灵活性相匹配的库。

也就是说,我想拥有这些功能:

  • 生成 --help (使用帮助中提到的默认值),
  • 除了解析用户给出的选项外,它还应该在不匹配的选项上出错,因此用户有机会注意错别字,
  • 可以在任何模块中轻松声明标志(希望在顶层,如果需要,可以接受 Template Haskell 黑客),
  • 不需要在 main 中调用我声明标志的所有模块,而是标志在启动/链接/任何时间以某种方式注册自己,
  • 如果 main 必须调用通用初始化函数,就像在 gflags 中一样,那没关系 /li>
  • flags 可以纯粹使用(是的,我认为这是 unsafePerformIO 的适当用法,以使 API 更简单)。

在环顾四周但没有成功之后,我想自己做这个(当然在 Hackage 上分享它)。但是,我完全不知道注册部分的实现。我需要类似于 GCC 的 ((constructor)) 属性或 C++ 的静态初始化的东西,但在 Haskell 中。标准的顶级 unsafePerformIO 是不够的,因为那是惰性的,所以在 main 开始运行之前不会调用它。

0 投票
3 回答
8393 浏览

c++ - 使用哪个库来解析 C++ 中的命令行参数

我知道getoptsargp。我刚看了看,boost它们有program_options一个用于解析命令行参数的库。

我不确定要使用哪一个。我知道getoptsPOSIX,虽然argp不是,但这对我来说并不重要。重要的是易用性。你能推荐(优点/缺点?)一个。我也对其他图书馆开放。

0 投票
4 回答
5292 浏览

c++ - 在 C++ 中,如何仅使用带必需参数的长选项?

在 C++ 程序中,我想要一个带有必需参数的“long-only”选项。下面是我使用getopt_long()的最小示例,但它不起作用:

我用这个命令编译它(gcc 版本 4.1.2 20080704 Red Hat 4.1.2-46):

它告诉我这个:

结果如下:

我试图让它在ideone上工作,但它甚至无法识别该选项-v

正如 trojanfoe 在他对另一个问题的评论中所指出的那样,应该可以使用“long-only”选项,因为 GNU tar 可以做到这一点。但是,GNU tar 使用argp,我很难理解它的源代码

有人可以给我一个适用于 GNUgetopt_long()或GNU 的最小示例argp()吗?

0 投票
1 回答
1152 浏览

java - 如何使用 Getopt 解析参数而不使用前导连字符

我正在尝试使用Getopt.
但是,我的一些论点来自形式host myhost server myserverwherehostserveris constants 并且myhostandmyserver是变化的论点。

我可以解析这样的选项吗?

0 投票
9 回答
88812 浏览

c - getopt.h:在 Windows 中编译 Linux C 代码

我正在尝试获取一组九个 *.c 文件(和九个相关的 *.h 文件)以在 Windows 下编译。

该代码最初是在 Linux 中设计的,使用标准 GNU-Linux/C 库“getopt.h”获取命令行参数。而且该库不适用于在 Windows 中构建 C 代码。

我想忽略我的代码现在所做的事情并提出以下问题。对于那些熟悉这个 C 库“getopt.h”的人:如果它依赖于 POSIX 样式的命令行参数,是否可以在 Windows 中构建和运行我的代码?或者我是否必须重新编写代码才能在 Windows 上工作,以不同的方式传递输入文件(并放弃“getopt.h”依赖项)?

0 投票
3 回答
1848 浏览

c - C中的函数getopt

当我不写参数时,我遇到了问题,我希望这是必不可少的。

当我写信时,./a.out -b test我没有看到fprintf()消息