X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvsomething;h=c65c3ee103fdf9e2e8159bcd9721ba95824e3e5b;hb=cd841ad88a1deb62271fff26455c4c2bbd23c6e0;hp=40185e5a9c0ed05d10f9cb1957842d2e85814fc6;hpb=e6f5d414a8f82cf1b0a47ab11ae6739d03a10f80;p=util-vserver.git diff --git a/scripts/vsomething b/scripts/vsomething index 40185e5..c65c3ee 100755 --- a/scripts/vsomething +++ b/scripts/vsomething @@ -29,7 +29,14 @@ test -e "$UTIL_VSERVER_VARS" || { function showHelp() { echo \ -$"Usage: $0 [--quiet|-q] [--debug] [--] * [--all] -- + +$"Usage: $0 [--quiet|-q] [--debug] [--] * [] -- + +where is any combination of: +--all All guests +--running All running guests +--stopped All stopped guests +--marked All guests with a mark set +--unmarked All guests without a mark set +--mark All guests with mark set Execute * foreach vserver. @@ -75,17 +82,24 @@ cmd=$1 title=${VSOMETHING_TITLE:-$cmd} shift -while test "$#" -ge 1; do - if getAllVserversByArg tmp "$1"; then - vservers=( "${vservers[@]}" "${tmp[@]}" ) - else +test "$1" != "--" || \ + shift + +if getAllVserversByArg tmp "$@"; then + vservers=( "${vservers[@]}" "${tmp[@]}" ) + while test "$1" != "--"; do + shift + done + shift +else + while test "$#" -ge 1; do case "$1" in (--) shift; break;; (*) vservers=( "${vservers[@]}" "$1" ) esac - fi - shift -done + shift + done +fi test "${#vservers[@]}" -ne 1 || is_quiet=1