问题标签 [getopts]

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 投票
39 回答
1820354 浏览

bash - 如何在 Bash 中解析命令行参数?

说,我有一个用这一行调用的脚本:

或者这个:

什么是可接受的解析方式,使得在每种情况下(或两者的某种组合)$v、、$f$d都将设置为true并且$outFile等于/fizz/someOtherFile

0 投票
1 回答
5876 浏览

shell - 在 bourne shell 的用户定义函数中使用 getopts

是否可以将命令行参数从 bourne 脚本中传递到函数中,以允许 getopts 处理它们。

我的脚本的其余部分很好地打包成函数,但看起来我必须将参数处理移动到主逻辑中。

下面是现在的写法,但是不行:

是否有可能以可以读取脚本参数的方式定义函数?这可以通过其他方式完成吗?我喜欢 getopts 的功能,但看起来在这种情况下我将不得不牺牲代码的美感来获得它。

0 投票
31 回答
485274 浏览

bash - 使用 getopts 处理长短命令行选项

我希望使用我的 shell 脚本调用长短形式的命令行选项。

我知道getopts可以使用,但就像在 Perl 中一样,我无法使用 shell 做同样的事情。

关于如何做到这一点的任何想法,以便我可以使用以下选项:

在上面,这两个命令对我的 shell 意味着同样的事情,但是使用getopts,我无法实现这些?

0 投票
2 回答
1513 浏览

python - getopts Values 类和 Template.Substitute 不能(立即)一起工作

我有类似的python代码:

但这给了我

因为options是值而不是字典。

我如何巧妙地完成这项工作?

(欢迎任何其他建议,我的蟒蛇意识仍在培养中......)

0 投票
3 回答
2273 浏览

bash - 在 bash 中解析 getopts

我有一个 bash 函数,我正在尝试使用 getopts 并且遇到了一些麻烦。

该函数被设计为由自身调用(getch),带有可选-s标志(getch -s),或者之后带有可选的字符串参数(因此getch mastergetch -s master都是有效的)。

下面的片段是我的问题所在 - 它不是整个功能,但它是我关注的内容:

getch -s master案例就是奇怪发生的地方。上面应该吐出s一次,但相反,我得到了这个:

为什么它解析-sopt 两次?

0 投票
2 回答
266 浏览

ksh - 有没有办法使用 getopts 将字符串作为开关?

我正在查看是否有一种方法可以getopts使用字符串而不是字符来处理开关。

例如,我想提供这样的东西:

代替:

这对 unix 可行getopts吗?

0 投票
1 回答
1440 浏览

batch-file - Windows批处理文件的getopts?

有没有一种简单的方法来检测通过命令行传递到批处理文件的选项/开关?我正在寻找类似sh's 和bash's 的东西getopts

0 投票
3 回答
2766 浏览

bash - 在 bash 中检查 getopts 状态的最佳方法是什么?

我正在使用以下脚本:

在此,如果我给出垃圾选项:

你可以看到它失败了。似乎 while 不工作。解决它的最佳方法是什么。

0 投票
2 回答
4934 浏览

bash - getopts 不会连续调用两次?

出于某种原因,选项在第一次调用时工作正常lib_progress_bar -c "@" -u "_" 0 100,但在第二次调用时,一切都是默认的,因为第二次似乎getopts c:u:d:p:s:%:m: flag不是真的,或者至少在我使用时从未执行过这种情况set -x

0 投票
3 回答
836 浏览

bash - 如何包装另一个仍然通过 $OPTIND 的外壳?

我正在尝试用脚本 a 包装 bash 脚本 b。但是,我想将传递给 a 的选项也传递给 b 。

这也将打印 $1(如果有)。最简单的方法是什么?

所以调用:

我希望 b 执行: ./b -c -d 5 # WITHOUT first-arg