X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fstart-vservers;h=a5f21e41b16e9374204ed41fa24f48fdd7c3d4f0;hb=d644358f28547545a360401e4b3a5536dda53257;hp=f02d3a3ded78b10e6ba56eb5a29d262668f1e418;hpb=d2fcc43bcb9cbfb966cb8c11cbe48968be525674;p=util-vserver.git diff --git a/scripts/start-vservers b/scripts/start-vservers index f02d3a3..a5f21e4 100755 --- a/scripts/start-vservers +++ b/scripts/start-vservers @@ -87,8 +87,6 @@ eval set -- "$tmp" declare -a tmp_vservers=() declare -r TAB=$(echo -en "\t") -OPTION_MARK= -OPTION_MARK_ANY=1 OPTION_PARALLEL=99 OPTION_DEBUG= NOOPTION_DEBUG=1 @@ -99,23 +97,32 @@ case "`basename $0`" in *) OPTION_FLAVOR=;; esac +gav_args=() while true; do - getAllVserversByArg tmp_vservers "$1" || \ case "$1" in (--help) showHelp $0 ;; (--version) showVersion $0 ;; (-c) CONFDIR=$2; shift;; - (-m) OPTION_MARK=$2; OPTION_MARK_ANY=; shift;; (-j) OPTION_PARALLEL=$2; shift;; (--start) OPTION_FLAVOR=start;; (--stop) OPTION_FLAVOR=stop;; (--debug) OPTION_DEBUG=1; NOOPTION_DEBUG=; set -x;; (--) shift; break;; - (*) echo $"$0: internal error; arg=='$1'" >&2; exit 1;; + (-m) gav_args=( "${gav_args[@]}" --mark "$2" ) + shift + ;; + (*) gav_args=( "${gav_args[@]}" "$1" );; esac shift done +if test "${#gav_args[@]}" -gt 0; then + if ! getAllVserversByArg tmp_vservers "${gav_args[@]}"; then + echo $"$0: internal error; arg=='$1'" >&2 + exit 1 + fi +fi + test -n "$OPTION_FLAVOR" || { echo "$0: unknown invocation method; aborting..." >&2 exit 1 @@ -123,19 +130,6 @@ test -n "$OPTION_FLAVOR" || { vservers=( "$@" "${tmp_vservers[@]}" ) -orig_vservers=$vservers -i=${#vservers[*]} - -while test $i -gt 0; do - let --i - d=$__CONFDIR/${vservers[$i]}/apps/init - f=$d/mark - { test -n "$OPTION_MARK_ANY"; } || \ - { test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \ - { test -z "$OPTION_MARK" && test ! -e "$f"; } || \ - unset vservers[$i] -done - makedir=$($_MKTEMPDIR vserver-init.XXXXXX) okfile=$($_MKTEMP vserver-init.XXXXXX) passedfile=$($_MKTEMP vserver-init.XXXXXX)