X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fstart-vservers;h=a5f21e41b16e9374204ed41fa24f48fdd7c3d4f0;hb=35370e2d11f661d780b71204d61439e31b91fb57;hp=672843729c2fe1e77fc9977fe3d8eda015f2d8bb;hpb=9c78378bebc1a9f3d400f422df8ede9efea57dea;p=util-vserver.git diff --git a/scripts/start-vservers b/scripts/start-vservers index 6728437..a5f21e4 100755 --- a/scripts/start-vservers +++ b/scripts/start-vservers @@ -87,7 +87,6 @@ eval set -- "$tmp" declare -a tmp_vservers=() declare -r TAB=$(echo -en "\t") -OPTION_MARK= OPTION_PARALLEL=99 OPTION_DEBUG= NOOPTION_DEBUG=1 @@ -98,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; 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 @@ -122,22 +130,10 @@ 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" -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) -trap "$_RM -rf $makedir $resultfile $passedfile" EXIT +trap "$_RM -rf $makedir $okfile $passedfile" EXIT test_cmd=false case "$OPTION_FLAVOR" in