X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fstart-vservers;h=f35bf1337251a193ac463bad4b2a1251d2d841f8;hb=ba02066b569340ffb5a74184caceeb67fe87ac1c;hp=2b50c45968c2cd8d773983b35d2f365d1ae577f5;hpb=e3e0c98fbdfc024566c0f5d45bcf5c4bd91e19f8;p=util-vserver.git diff --git a/util-vserver/scripts/start-vservers b/util-vserver/scripts/start-vservers index 2b50c45..f35bf13 100755 --- a/util-vserver/scripts/start-vservers +++ b/util-vserver/scripts/start-vservers @@ -31,7 +31,7 @@ function showHelp() { echo \ $"Usage: $(basename $0) [-c ] [-m ] [-j + + [--start|--stop] [--all|--[un]marked|--running|--stopped] -- + Please report bugs to $PACKAGE_BUGREPORT" exit 0 @@ -60,12 +60,14 @@ function verifyVserver() set +e -tmp=$(getopt -o c:j:m: --long debug,help,version,start,stop,test,all -n "$0" -- "$@") || exit 1 +tmp=$(getopt -o c:j:m: \ + --long debug,help,version,start,stop,test,$VS_ALLVSERVERS_ARGS \ + -n "$0" -- "$@") || exit 1 eval set -- "$tmp" +declare -a tmp_vservers=() declare -r TAB=$(echo -en "\t") OPTION_MARK= -OPTION_ALL= OPTION_PARALLEL=99 OPTION_DEBUG= NOOPTION_DEBUG=1 @@ -77,18 +79,18 @@ case "`basename $0`" in esac 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;; - --all) OPTION_ALL=1;; - --debug) OPTION_DEBUG=1; NOOPTION_DEBUG=; set -x;; - --) shift; break;; - *) echo $"$0: internal error; arg=='$1'" >&2; exit 1;; + (--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;; esac shift done @@ -98,17 +100,16 @@ test -n "$OPTION_FLAVOR" || { exit 1 } -vservers=( "$@" ) -test -z "$OPTION_ALL" || getAllVservers vservers +vservers=( "$@" "${tmp_vservers[@]}" ) orig_vservers=$vservers i=${#vservers[*]} while test $i -gt 0; do let --i - d=$CONFDIR/${vservers[$i]}/apps/init + d=$__CONFDIR/${vservers[$i]}/apps/init f=$d/mark - { test "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \ + { test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \ { test -z "$OPTION_MARK" && test ! -e "$f"; } || \ unset vservers[$i] done @@ -142,12 +143,12 @@ EOF } >$makedir/Makefile for i in "${vservers[@]}"; do - d=$CONFDIR/$i/apps/init + d="$__CONFDIR/$i"/apps/init echo "$i" test -e "$d"/depends || continue cat "$d"/depends done | sort -u | while read vserver; do - d=$CONFDIR/$vserver/apps/init + d="$__CONFDIR/$vserver"/apps/init case "$OPTION_FLAVOR" in start)