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

bash - 如何使用 getopt(s) 作为在 bash 中传递参数的技术

有人可以向我展示如何正确使用 getopts 或我可以在参数中传递的任何其他技术的示例吗?我正在尝试在 unix shell/bash 中编写它。我看到有 getopt 和 getopts 并且不确定哪个更好用。最终,我将构建它以添加更多选项。

在这种情况下,我想将文件路径作为输入传递给 shell 脚本,并在输入不正确的情况下放置描述。

例如:(在命令行调用)

如果以这种方式运行,则会出现错误消息或提示正确使用:

0 投票
5 回答
1895 浏览

python - 解析argv时忽略无法识别的选项?

我正在编写一个充当插件类run方法代理的脚本。

该脚本将像这样调用:

此命令的结果将相当于:

请注意,前面的任何内容--plugin都由 main.py 内部使用,而不是传递给插件。main.py 忽略之后--plugin的任何内容,而是直接传递给插件。

我遇到的问题是我找不到一个getopt允许我解析argv 无需指定允许选项列表的类。

我宁愿不必getopt用注释掉的一行来重写。有没有更好的选择?

0 投票
2 回答
350 浏览

debugging - 如何参数化调试输出(BASH)的详细程度?

在编写脚本的过程中,我会以不同的方式和不同的程度使用命令的输出 - 以便对手头的任务进行故障排除。例如,在这个片段中,它读取应用程序的图标资源并返回是否不是它具有典型的 .icns 扩展名...

不可避免地,随着每个 bug 被压制,并且stdout开始更多地与实际功能与调试过程相关,这个反馈通常要么被注释掉,要么被静音,要么被删除——原因很明显。

但是,如果想提供一个简单的选项——无论是硬编码,还是作为参数传递,以在运行时选择性地显示一些、全部或不显示“这种”消息——提供这种简单功能的最佳方式是什么?我希望基本上复制它的功能,set -x但不是逐行列出,它只会打印我专门设计的通知。

echoif检查 a 的 a替换每一个似乎过分了debug=1|0我一直无法在我的自己的脚本。这个小小的表达似乎很有希望,但很少有文档 re:在那里(尽管我确信这是这个难题的关键)getoptsgetopt2>$1

任何简洁和可重复使用的技巧都会受到欢迎,如果我完全错过了这条船,或者它是一条蛇,它会咬我 - 我道歉。

0 投票
1 回答
376 浏览

command-line-arguments - Smalltalk 中未记录的 getopt

我正在编写一个命令行应用程序来加密密码和解密密码哈希。Getopt 的文档没有提供示例,所以我不知道如何使用 Getopt 类。一些线索散落在邮件列表日志中。

特别是,我不知道 的格式with: pattern、指定 CLI 参数的字符串以及值是必需的、可选的还是省略的。

ios7crypt.st:

示例运行:

以前,两者-emonkey都被传递给脚本,但 Getopt 的do:静默 drop -e,所以输出看起来像:

0 投票
3 回答
5605 浏览

python - 无法使用 getopt python 处理参数

为了给我的 python 脚本提供选项,我想介绍一些参数。我发现在 python 中执行此操作的更好方法是使用 getopt,但是一旦我运行我的脚本,它就什么也不做。请帮我!!!。这是我的代码:

0 投票
2 回答
1540 浏览

perl - 帮助 perl 脚本将 argv 的使用转换为使用 getopts

我正在尝试Getopt::Std在我的 perl 脚本中使用 using 来转换 @ARGV 的使用。我收到了一些 substr 错误,需要一些帮助来解决这个问题。

错误:

这是我的代码。(注释掉的代码是使用@ARGV 的工作代码)

0 投票
1 回答
654 浏览

c - 在 C 中处理参数前后的命令行选项

到目前为止,我一直在使用getopt_long解析命令行 C 程序的选项。

有没有办法getopt_long在遇到非选项参数时停止解析?如果不是,那么在 C 中处理这个问题的最佳方法是什么?

举个例子,我想以与git类似的方式处理命令,并在命令之前有一般参数,在命令之后有特定于命令的参数:

例如:

-pand--bare是通用选项,可以与所有命令一起使用,而-a特定于commit命令,并且-s特定于status命令。

Usinggetopt_long将首先尝试解析所有选项,然后将非选项参数留待处理。理想情况下,我希望在遇到非选项(即命令)后停止解析,然后将剩余的参数传递给特定于命令的选项解析器。

0 投票
1 回答
144 浏览

multiline - Factor有多线shebangs吗?

Common Lisp 有多行 shebangs:

这允许在 shebang 中进行更复杂的操作。CLISP 是少数从 ARGV 中省略脚本名称的语言之一。在这里,脚本名称被强制发送两次给 CLISP,以便 Lisp 脚本可以通过 ARGV 访问其脚本名称。

有没有办法在 Factor 中做到这一点,以便以下工作?

上面的行应该 print t,但 Factor 忽略了-help,因为它出现在脚本名称之后。

这是有效的,因为-help在脚本名称之前发送。./ios7crypt.factor -help无声地下降-help,因为 shebang 扩展为factor ios7crypt.factor -help。不幸的是,Factor 似乎需要脚本名称之前的所有命令行选项。

是否有覆盖此行为的多线 shebang?

0 投票
2 回答
3912 浏览

c++ - 使用 getopt/long_getopt 的正确方法

我知道这个话题已经被打死了,但我仍然找不到我要找的东西。我需要在 C++ 中解析命令行参数。

我不能使用 Boost 和 long_getopt

问题在于铸造,当我简单地打印 arguments 时,它在循环中按预期工作,但分配给变量的值无法以某种方式工作。

这是完整的、可编译的程序。

正如我在评论中提到的 - 认为问题在于类型转换,如何正确地做到这一点?如果还有其他更好的方法,请告诉我。

您可以将程序运行为 --- ./program-name -d .8 -i 100

感谢您的帮助。我是 Unix 和 C++ 的新手,但非常努力地学习它 :)

0 投票
1 回答
20776 浏览

python - 使用功能不适用于 getopt

我对 Python 中的使用函数有疑问。这是我的主要功能的一部分:

我也定义了一个使用函数

但是当我以./code.pyor ./code.py -h(它是可执行的)运行我的代码时,我得到了除了 Python 帮助之外的任何东西。