X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvsomething;h=a87c1b77d5aa289393e543d10a1d52a1b30b7ba8;hb=13a83fe9e08e8667ee42c62d0631ca8ebbed7e89;hp=40185e5a9c0ed05d10f9cb1957842d2e85814fc6;hpb=42b506628ab93950aac3f3ef24ca386c6451b235;p=util-vserver.git diff --git a/scripts/vsomething b/scripts/vsomething index 40185e5..a87c1b7 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 "$#" -ge 1 -a "$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