草庐IT

getOptions

全部标签

linux - getopt_long 与 getopt_long_only

做一个合适的Linux/unix风格的应用程序,什么是最好的选择(例如afaikls使用getopt_long但例如ffmpeggetopt_long_only)。你推荐哪一个?干杯, 最佳答案 在我看来,以下情况通常是正确的:用户喜欢长而自然的语言选项,因为它们易于内存。编写脚本来包装具有数百个选项的程序的用户喜欢短选项。如果一个程序变得足够大,它最终会用完与规范选项相比具有任何意义的短选项组合。例如,-Z可能与以完全不同的字母开头的长选项相同。到时候,特别是对于单个维护者来说,option解析代码就成了一个维护起来很头疼的问题。

linux - getopt_long 与 getopt_long_only

做一个合适的Linux/unix风格的应用程序,什么是最好的选择(例如afaikls使用getopt_long但例如ffmpeggetopt_long_only)。你推荐哪一个?干杯, 最佳答案 在我看来,以下情况通常是正确的:用户喜欢长而自然的语言选项,因为它们易于内存。编写脚本来包装具有数百个选项的程序的用户喜欢短选项。如果一个程序变得足够大,它最终会用完与规范选项相比具有任何意义的短选项组合。例如,-Z可能与以完全不同的字母开头的长选项相同。到时候,特别是对于单个维护者来说,option解析代码就成了一个维护起来很头疼的问题。

linux - 使用 GetOpts 和强制参数验证命令行参数

我正在创建一个基本脚本,它应该包含3个强制命令行选项,并且每个选项后面都必须跟一个值。像这样:$myscript.sh-u-p-f我试图确保用户传递的是这3个确切的选项及其值,而不是其他任何东西,否则我想打印使用消息并退出。我一直在阅读关于getopts的文章并想出了这个:usage(){echo"Usage:$0-u-p-f";}if[$#-ne6]thenusageexit1fiwhilegetoptsu:p:f:opt;docase$optinu)USER_NAME=$OPTARG;;p)USER_PASSWORD=$OPTARG;;f)HOSTS_FILE=$OPTARG;;*

linux - 使用 GetOpts 和强制参数验证命令行参数

我正在创建一个基本脚本,它应该包含3个强制命令行选项,并且每个选项后面都必须跟一个值。像这样:$myscript.sh-u-p-f我试图确保用户传递的是这3个确切的选项及其值,而不是其他任何东西,否则我想打印使用消息并退出。我一直在阅读关于getopts的文章并想出了这个:usage(){echo"Usage:$0-u-p-f";}if[$#-ne6]thenusageexit1fiwhilegetoptsu:p:f:opt;docase$optinu)USER_NAME=$OPTARG;;p)USER_PASSWORD=$OPTARG;;f)HOSTS_FILE=$OPTARG;;*

linux - 使用 getopts (bash) 的多个选项参数

我正在尝试在bash中使用getopts处理命令行参数。其中一项要求是处理任意数量的选项参数(不使用引号)。第一个例子(只获取第一个参数)madcap:~/projects$./getoptz.sh-sabc-swastriggeredArgument:a第二个例子(我希望它表现得像这样,但不需要引用参数"madcap:~/projects$./getoptz.sh-s"abc"-swastriggeredArgument:abc有办法吗?这是我现在的代码:#!/bin/bashwhilegetopts":s:"opt;docase$optins)echo"-swastriggered

linux - 使用 getopts (bash) 的多个选项参数

我正在尝试在bash中使用getopts处理命令行参数。其中一项要求是处理任意数量的选项参数(不使用引号)。第一个例子(只获取第一个参数)madcap:~/projects$./getoptz.sh-sabc-swastriggeredArgument:a第二个例子(我希望它表现得像这样,但不需要引用参数"madcap:~/projects$./getoptz.sh-s"abc"-swastriggeredArgument:abc有办法吗?这是我现在的代码:#!/bin/bashwhilegetopts":s:"opt;docase$optins)echo"-swastriggered

c - Getopt 不包括在内?函数 ‘getopt’ 的隐式声明

我想使用getopt,但它行不通。它给了我gcc-g-Wall-std=c99-ftrapv-O2-Werror-Wshadow-Wundef-save-temps-Werror-implicit-function-declaration-c-osrc/main.osrc/main.csrc/main.c:Infunction‘main’:src/main.c:13:2:error:implicitdeclarationoffunction‘getopt’[-Werror=implicit-function-declaration]src/main.c:23:14:error:‘opt

c - Getopt 不包括在内?函数 ‘getopt’ 的隐式声明

我想使用getopt,但它行不通。它给了我gcc-g-Wall-std=c99-ftrapv-O2-Werror-Wshadow-Wundef-save-temps-Werror-implicit-function-declaration-c-osrc/main.osrc/main.csrc/main.c:Infunction‘main’:src/main.c:13:2:error:implicitdeclarationoffunction‘getopt’[-Werror=implicit-function-declaration]src/main.c:23:14:error:‘opt

c++ - getopt 无法检测到选项的缺失参数

我有一个接受各种命令行参数的程序。为了简单起见,我们说它需要3个标志,-a、-b和-c,并使用以下代码解析我的论点:intc;while((c=getopt(argc,argv,":a:b:c"))!=EOF){switch(c){case'a':cout注意:a和b在标志后面带参数。但是,如果我调用我的程序说,我会遇到问题./myprog-a-bparameterForB在我忘记了parameterForA的地方,parameterForA(由optarg表示)返回为-b并且parameterForB被认为是没有参数的选项,并且optind设置为argv中parameterForB的

c++ - getopt 无法检测到选项的缺失参数

我有一个接受各种命令行参数的程序。为了简单起见,我们说它需要3个标志,-a、-b和-c,并使用以下代码解析我的论点:intc;while((c=getopt(argc,argv,":a:b:c"))!=EOF){switch(c){case'a':cout注意:a和b在标志后面带参数。但是,如果我调用我的程序说,我会遇到问题./myprog-a-bparameterForB在我忘记了parameterForA的地方,parameterForA(由optarg表示)返回为-b并且parameterForB被认为是没有参数的选项,并且optind设置为argv中parameterForB的