]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-alpine: use getopt to parse options
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Mon, 28 Sep 2015 11:51:21 +0000 (14:51 +0300)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 29 Sep 2015 16:40:59 +0000 (12:40 -0400)
Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
templates/lxc-alpine.in

index fc0293a977028d0727bdeca05bce7c78a40f266b..8ee69c607a10345af4661b624153229d88c1ef07 100644 (file)
@@ -278,12 +278,6 @@ usage_err() {
     exit 1
 }
 
-optarg_check() {
-    if [ -z "$2" ]; then
-        usage_err "option '$1' requires an argument"
-    fi
-}
-
 default_path=@LXCPATH@
 release=
 arch=$(uname -m)
@@ -294,58 +288,39 @@ if [ $(id -u) -ne 0 ]; then
    exit 1
 fi
 
+options=$(getopt -o hn:p:r:R:a: -l help,name:,rootfs:,path:,repository:,release:,arch: -- "$@")
+[ $? -eq 0 ] || usage_err
+eval set -- "$options"
+
 while [ $# -gt 0 ]; do
-    opt="$1"
-    shift
-    case "$opt" in
+    case "$1" in
     -h|--help)
         usage
         exit 0
         ;;
     -n|--name)
-        optarg_check $opt "$1"
-        name=$1
-        shift
+        name=$2
         ;;
     --rootfs)
-        optarg_check $opt "$1"
-        rootfs=$1
-        shift
+        rootfs=$2
         ;;
     -p|--path)
-        optarg_check $opt "$1"
-        path=$1
-        shift
+        path=$2
         ;;
     -r|--repository)
-        optarg_check $opt "$1"
-        repository=$1
-        shift
+        repository=$2
        ;;
     -R|--release)
-        optarg_check $opt "$1"
-        release=$1
-        shift
+        release=$2
         ;;
     -a|--arch)
-        optarg_check $opt "$1"
-        arch=$1
-        shift
+        arch=$2
         ;;
     --)
+       shift
         break;;
-    --*=*)
-        # split --myopt=foo=bar into --myopt foo=bar
-        set -- ${opt%=*} ${opt#*=} "$@"
-        ;;
-    -?)
-        usage_err "unknown option '$opt'"
-        ;;
-    -*)
-        # split opts -abc into -a -b -c
-        set -- $(echo "${opt#-}" | sed 's/\(.\)/ -\1/g') "$@"
-        ;;
     esac
+    shift 2
 done