Use the host's /etc/resolv.conf by default.
[util-vserver.git] / scripts / vserver
index ab8dfa1..8b7e8cb 100755 (executable)
@@ -31,7 +31,7 @@ test -e "$UTIL_VSERVER_VARS" || {
 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.
@@ -44,9 +44,9 @@ Possible commands are:
     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*>
@@ -57,7 +57,8 @@ Possible commands are:
                     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>*
@@ -165,12 +166,13 @@ test "$cmd" != build || { shift 2; exec $_VNAMESPACE --new -- \
 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=
@@ -198,11 +200,11 @@ Possible solutions:
 _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[@]}"