getopts相关内容

在 Bash 函数中使用 getopts

我想在我在 .bash_profile 中定义的函数中使用 getopts.这个想法是我想向这个函数传递一些标志来改变它的行为. 代码如下: function t() {回声 $*getopts "a:" 选项回声 $OPTION回声 $OPTARG} 当我这样调用它时: t -a bc 我得到这个输出: -a bc? 怎么了?我想获得值 bc 而无需手动移动和解析.如何在函数内 ..
发布时间:2021-12-07 23:36:52 其他开发

如何在 bash 中使用 getopts 的示例

我想这样调用myscript文件: $ ./myscript -s 45 -p any_string 或 $ ./myscript -h #应该显示帮助$ ./myscript #should 显示帮助 我的要求是: getopt 此处获取输入参数 检查-s是否存在,如果不存在则返回错误 检查 -s 后面的值是否为 45 或 90 检查-p是否存在并且后面有输入字符串 如果用 ..
发布时间:2021-12-05 22:23:01 其他开发

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

我希望使用我的 shell 脚本调用长形式和短形式的命令行选项. 我知道可以使用 getopts,但就像在 Perl 中一样,我无法用 shell 做同样的事情. 关于如何做到这一点的任何想法,以便我可以使用以下选项: ./shell.sh --copyfile abc.pl/tmp/./shell.sh -c abc.pl/tmp/ 在上面,这两个命令对我的 shell 意味着相 ..
发布时间:2021-12-05 22:13:55 其他开发

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

是否可以从 bourne 脚本中将命令行参数传递到函数中,以允许 getopts 处理它们. 我的脚本的其余部分很好地打包到函数中,但看起来我必须将参数处理移到主逻辑中. 下面是现在的写法,但是不行: 进程参数(){而 getopts j:f: arg做echo "${arg} -- ${OPTARG}"案例“${arg}"在j) 如果 [ -z "${文件名}" ];然后作业编号= ..
发布时间:2021-07-23 19:56:06 其他开发

如何在bash中结合使用getopts和position参数?

我想同时使用 getopts 和位置参数,但是如果我将位置参数传递给程序,则 getopts 将会丢失. 目录= $ 1而getopts l:标志;做情况为"$ flag"l)等级= $ OPTARG;埃萨克完毕如果[-n"$ level"];然后回声“级别存在!"别的回声“级别不存在!"科幻 所以当我像这样运行程序时: sh myprogram.sh〜/documents -l 2 ..
发布时间:2021-04-14 20:21:31 其他开发

在bash中使用getopts的布尔cli标志?

是否可以在bash中使用getopts实现布尔cli选项?基本上,如果要指定 -x ,我想做一件事,如果没有指定,我想做另一件事. 解决方案 当然可以.@JonathanLeffler已经在问题的注释中给出了答案,所以我在这里要做的只是添加一个实现示例和一些要考虑的细节: #!/usr/bin/env bash#初始化选项标志的值为假OPT_X ='假'#处理命令行中提供的所有选项而ge ..
发布时间:2021-04-14 19:53:32 其他开发

读$ OPTARG是否有可选标志?

我希望能够在脚本中接受强制性和可选性标志.这就是我到目前为止所拥有的. #!bin/bash while getopts ":a:b:cdef" opt; do case $opt in a ) APPLE="$OPTARG";; b ) BANANA="$OPTARG";; c ) CHERRY="$OPTARG";; ..
发布时间:2020-09-18 22:43:47 其他开发

在Bash中解析命令行参数的最佳方法?

经过几天的研究,我仍然不知道在其中解析cmdline args的最佳方法.sh脚本.根据我的参考资料,getopts cmd是可行的方法,因为它"在不干扰位置参数变量的情况下提取并检查开关.意外开关或缺少参数的开关会被识别并报告为错误." 当涉及空格时,位置参数(例如2-$ @,$#等)显然不能很好地工作,但可以识别常规参数和长参数(-p和--longparam).我注意到,当传递带有嵌套引 ..
发布时间:2020-09-18 21:29:32 其他开发

在Bash中使用getopts检索单个选项的多个参数

我需要有关getopts的帮助. 我创建了一个Bash脚本,运行时如下所示: $ foo.sh -i env -d目录-s子目录-f文件 当处理每个标志的一个参数时,它可以正常工作.但是,当我从每个标志调用多个参数时,我不确定如何从getopts中的变量中提取多个变量信息. while getopts ":i:d:s:f:" opt do case $opt ..
发布时间:2020-09-18 21:29:26 其他开发

为什么getopts仅在第一次使用?

为什么此选项仅在首次使用时起作用,而后每隔一次被忽略?就像不使用该选项时将其重置. 这是我的职能: testopts() { local var="o false" while getopts "o" option; do case "${option}" in o) var="o true" ..
发布时间:2020-09-18 21:20:30 其他开发

如何在bash中使用getopts的示例

我想通过这种方式调用myscript文件: $ ./myscript -s 45 -p any_string 或 $ ./myscript -h #should display help $ ./myscript #should display help 我的要求是: getopt在这里获取输入参数 如果没有返回错误,请检查-s是否存在 检查-s之后的值是4 ..
发布时间:2020-09-18 20:36:10 其他开发

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

我希望使用我的shell脚本来调用长短形式的命令行选项. 我知道可以使用getopts,但是像在Perl中一样,我无法对shell进行同样的操作. 关于如何完成此操作的任何想法,这样我就可以使用以下选项: ./shell.sh --copyfile abc.pl /tmp/ ./shell.sh -c abc.pl /tmp/ 在上面,这两个命令对我的shell来说意义相同, ..
发布时间:2020-09-18 20:33:23 其他开发

getopts的无参数提供

如何检查是否有没有必需的参数前提?我发现“:”在开关外壳选项应该用于此目的是足够的,但它永远不会进入这种情况下(codeblock伪)。不要紧,我是否把“冒号案”开头或其他地方。 我的code: ,而getopts的:A:B:选项; 做 案“$ OPTION”在 一个) VAR1 = $ OPTARG ;; ..
发布时间:2016-08-03 12:03:28 Linux/Unix

有getopts的显示帮助,如果没有选项提供

我在这里解析贴一些类似的问题,但它们不适合我。 我有这个美好的bash脚本,做一些很酷的功能,这里是code的相关部分: 而getopts的“:hhelpf:D:C:”ARGS; 做 案例$ ARGS中 H |帮助) help_message>和2 1号出口 ;; F ) ..
发布时间:2016-08-03 11:58:44 Linux/Unix