function showHelp()
{
echo \
-$"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent]
+$"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent] [--debug]
[--] <vserver> <command> <args>*
<vserver> is the name of a vserver.
Possible commands are:
- start [--rescue [--rescue-init]] [<rescue-cmd> <args>*]
+ start [--rescue [--rescue-init] <rescue-cmd> <args>*]]
... starts the specified vserver
- stop ... stops the specified vserver
+ stop [--rescue-init]
+ ... stops the specified vserver
restart ... restarts the specified vserver; this is the subsequent
execution of a synchronized 'stop' and a 'start'
condrestart ... restarts the vserver when it is running already
- suexec <user> <shell-command> <args*>
+ suexec <user> <command> <args*>
... executes a command as the specified user in the vserver
- exec <shell-command> <args*>
+ exec <command> <args*>
... executes a command as root in the vserver
enter ... executes the configured shell in the vserver
chkconfig <chkconfig-options*>
the vserver, and succeeds iff the vserver is running
build <buildopts>*
- ... builds a new vserver from scratch
+ ... builds a new vserver from scratch, see
+ vserver ... build --help for details
delete ... remove a vserver
unify [-R] <vunify-opts>*
allow_legacy=
case "$vserver" in
- (./*) VSERVER_DIR=`pwd`/$vserver;;
- (/*) VSERVER_DIR=$vserver;;
- (*) VSERVER_DIR=$__CONFDIR/$vserver
+ (./*) VSERVER_DIR="`pwd`/$vserver";;
+ (/*) VSERVER_DIR="$vserver";;
+ (*) VSERVER_DIR="$__CONFDIR/$vserver"
allow_legacy=1
;;
esac
+VSERVER_DIR="${VSERVER_DIR%%/}"
if test -n "$allow_legacy"; then
do_legacy=
_setVserverName
# Create a new namespace when starting the guest
-test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
+test "$cmd" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
# Enter the namespace early so we can test for files inside the guest
-test "$2" != enter -a "$2" != stop || \
+test "$cmd" != enter -a "$cmd" != stop || \
test -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
! isVserverRunning "$VSERVER_DIR" || \
exec $_VNAMESPACE --enter "$VSERVER_DIR" -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"