瀏覽代碼

vbuilder.sh.in: defined check-parameter function

git-svn-id: http://trac.vinelinux.org/repos/projects/vbootstrap/trunk@416 ec354946-7b23-47d6-9f5a-488ba84defc7
munepi 15 年之前
父節點
當前提交
1f89b06915
共有 1 個文件被更改,包括 34 次插入5 次删除
  1. 34 5
      vbuilder.sh.in

+ 34 - 5
vbuilder.sh.in

@@ -43,14 +43,14 @@ Usage_ja(){
 Msg_MissingParameter_C(){
     para=$1
     cat<<EOF
-E: Missing some parameter before ${para}
+E: Missing some parameter after ${para}
 EOF
 }
 
 Msg_MissingParameter_ja(){
     para=$1
     cat<<EOF
-E: ${para} 以のいくつかのパラメータに間違いがあります
+E: ${para} 以のいくつかのパラメータに間違いがあります
 EOF
 }
 
@@ -128,8 +128,37 @@ EOF
 
 ##############################################################################
 
+check-parameter(){
+    if [ -z "$*" ]; then
+	Usage_$LOCALE
+	return 1
+    fi
+
+    while [ ! -z "$*" ]; do
+	case $1 in
+	    --version|--arch|--target|--build-rpm|--install-rpm|--remove-rpm)
+		shift
+		check-next-parameter $1 || return 1
+		;;
+	    --dist-upgrade|--with-compat32|--build|--clean)
+		;;
+	    *)
+		Msg_MissingParameter_$LOCALE $1
+		return 1
+		;;
+	esac
+	shift
+    done
+    return 0
+}
+
 check-next-parameter(){
     arg=$1
+    if [ -z "${arg}" ]; then
+	Msg_MissingParameter_$LOCALE ${arg}
+	return 1
+    fi
+
     if [ $(echo ${arg} | grep '^-') ]; then
 	Msg_MissingParameter_$LOCALE ${arg}
 	return 1
@@ -488,18 +517,18 @@ RPM_Build(){
 
 setup-vbuilder
 
-[ $# -eq 0 ] && Usage_$LOCALE
+check-parameter $* || exit 1
+
 while [ $# -gt 0 ]; do
     tmpARG=$1
     case $tmpARG in
 	--version|--arch|--target|--build-rpm|--install-rpm|--remove-rpm)
 	    shift
-	    check-next-parameter $1 || exit 1
 	    ;;
 	--dist-upgrade|--with-compat32|--build|--clean)
 	    ;;
 	*)
-	    Usage_$LOCALE
+	    echo unknown option $1
 	    exit 1
 	    ;;
     esac