如何使用Bash getopts内置的长选项?

前端之家收集整理的这篇文章主要介绍了如何使用Bash getopts内置的长选项?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用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例子。

猜你在找的Bash相关文章