问题标签 [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.
c++ - 使用 getopt_long (C++) 我如何编写一个 long & short 选项来要求参数?
输出:
输出:
需要解决的冲突: -s 和 --s 都应该说:./a.out: option `--stuff'在使用时需要一个参数,而不需要在命令后面加上参数。但只有 --stuff 可以吗?有谁知道我在这里想念什么?
期望的结果:
bash - 如何在 bash 脚本中使用带有 getopts 的通配符?
我有一个 bash 脚本,我想接受一些可选的输入参数,后跟文件名或包含通配符的文件规范。
如果我运行
getopts_problem.sh -td *.txt
脚本愉快地输出当前目录中的 .txt 文件列表:
文件是 readme.txt letter_to_editor.txt someotherfile.txt
如果我运行getopts_problem.sh -td *.ABC
脚本输出
文件是 *.ABC
当前目录中没有扩展名为“.ABC”的文件。然后,出于某种原因,脚本将“*.ABC”解释为文件名。如何让脚本将“*.ABC”识别为要扩展的文件名表达式,而不是实际的文件名?代码如下:
bash - getopts 截断参数值
我需要在 myscript.sh 中传递一个包含空格作为选项的字符串值。代码如下所示:
当我直接在命令行上调用它时它工作得很好:
但是,我需要将 -i 作为字符串变量传递,但我无法让它工作。选项 -i 的字符串被截断,选项 -t 甚至没有出现(可能是新行)。
有什么建议么?谢谢!
bash - 在 getopts 之后解析参数
我想调用这样的 bash 脚本
这是据我所知
但我怎么得到path/to/file
?
bash - Bash getopts 放弃最后一个参数
所以,我正在尝试使用 bash 的内置 getopts 来处理参数处理,除非我得到一个奇怪的结果。这是我的测试脚本;
然而,当我使用它运行脚本时;
我的最后一个 arg 永远不会被拉入或被丢弃。我的回声结果是;
有谁知道这是什么原因造成的?
谢谢。
bash - 没有 cmd 时 getopts 打印帮助。行参数匹配
我正在尝试在 bash 中使用 getopts 来解析命令行参数,但如果没有匹配的参数(或没有给出 cmdline 参数),我无法弄清楚如何实现“默认”操作。
这是迄今为止我尝试过的稍微简化的版本:
有没有(简单的)方法可以让它调用 print_help;2号出口;在不匹配的输入上?
bash - bash getopts 命令
我在他们的网站上关注 IBM 的例子:
(清单 #5)http://www.ibm.com/developerworks/library/l-bash-parameters/index.html
我想要的只是有一个名称超过 1 个字母的选项。即-pppp 和-qqqq 而不是-p 和-q。
我已经编写了我的程序并且实施 -help 给了我一个问题......
bash - 如何获得 getopts 源?
我的嵌入式设备使用busybox,它只有getopt。我想将 getopts 移植到我的嵌入式设备上,并正在寻找 getopts 源来做到这一点。我在哪里可以找到 getopts 源?
bash - 如果参数是文件名,bash getopts 会中断吗?
我正在使用 getopts 编写一个脚本,该命令可以具有任何顺序的参数,包括有效参数-a
和文件名,如stuff.txt
. 问题是,当我运行这样的命令时:
program.sh -a -b stuff.txt -c -d
我的代码处理参数-a
并且没问题-b
,直到它到达文件名,然后它停止处理并且不接触参数-c
,-d
然后。我的代码看起来有点像这样:
我在while
循环之外处理文件,它们似乎注册得很好。
shell - 当没有给出参数时,如何防止需要参数的选项使用下一个选项?
我在 test.sh 中有以下代码:
现在如果我运行./test.sh -f
我会得到错误:
但是,当我运行./test.sh -f -i test
它时,它会回显 -i。
我知道这是因为它只是将下一个参数用空格分隔,但是有没有简单的方法来处理这个问题?
我可以做if [ $OPTARG == "-i" ]; then exit 1
,但我希望当我有多种选择时有一种更简单的方法。