如何使用Bash getopts内置的长选项?
发布时间:2020-12-15 19:17:42 所属栏目:安全 来源:网络整理
导读:我试图用Bash getopts来解析一个-temp选项。我打电话给我这样的脚本: ./myscript -temp /foo/bar/someFile 这是我用来解析选项的代码。 while getopts "temp:shots:o:" option; do case $option in temp) TMPDIR="$OPTARG" ;; shots) NUMSHOTS="$OPTARG" ;;
我试图用Bash getopts来解析一个-temp选项。我打电话给我这样的脚本:
./myscript -temp /foo/bar/someFile 这是我用来解析选项的代码。 while getopts "temp:shots:o:" option; do case $option in temp) TMPDIR="$OPTARG" ;; shots) NUMSHOTS="$OPTARG" ;; o) OUTFILE="$OPTARG" ;; *) usage ;; esac done shift $(($OPTIND - 1)) [ $# -lt 1 ] && usage
getopts只能解析短选项。
大多数系统还有一个外部getopt命令,但getopt不是标准的,并且通常被设计破坏,因为它不能安全地处理所有参数(带有空格和空参数的参数),只有GNU getopt可以安全地处理它们,但是只有您以GNU特定的方式使用它。 更简单的选择是既不使用,只需使用while循环迭代脚本的参数,并自行解析。 参见http://mywiki.wooledge.org/BashFAQ/035例子。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |