[lxc-devel] [PATCH] lxc-setuid: use POSIX shell instead of bash
Natanael Copa
ncopa at alpinelinux.org
Mon Nov 26 21:39:05 UTC 2012
Avoid getop --longoptions.
Signed-off-by: Natanael Copa <ncopa at alpinelinux.org>
---
src/lxc/lxc-setuid.in | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/src/lxc/lxc-setuid.in b/src/lxc/lxc-setuid.in
index 84f18af..e6a7b96 100644
--- a/src/lxc/lxc-setuid.in
+++ b/src/lxc/lxc-setuid.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
# lxc: linux Container library
@@ -78,32 +78,40 @@ lxc_dropuid()
chmod 0755 @LXCPATH@
}
-shortoptions='hd'
-longoptions='help'
-
-getopt=$(getopt -o $shortoptions --longoptions $longoptions -- "$@")
-if [ $? != 0 ]; then
+usage_err() {
+ [ -n "$1" ] && echo "$1" >&2
usage
exit 1
-fi
+}
-eval set -- "$getopt"
+optarg_check() {
+ if [ -z "$2" ]; then
+ usage_err "option '$1' requires an argument"
+ fi
+}
-while true; do
- case "$1" in
+while [ $# -gt 0 ]; do
+ opt="$1"
+ shift
+ case "$opt" in
-d)
LXC_DROP_CAPS="yes"
- shift
;;
-h|--help)
help
exit 0
;;
--)
- shift
break
;;
- *)
+ -?)
+ usage_err "unknown option '$opt'"
+ ;;
+ -*)
+ # split opts -abc into -a -b -c
+ set -- $(echo "${opt#-}" | sed 's/\(.\)/ -\1/g') "$@"
+ ;;
+ *)
usage
exit 1
;;
--
1.8.0
More information about the lxc-devel
mailing list