diff --git a/src/ejabberdctl.template b/src/ejabberdctl.template index 67eafbfb8..a21c6527c 100644 --- a/src/ejabberdctl.template +++ b/src/ejabberdctl.template @@ -312,13 +312,21 @@ ctlexec () { CONN_NAME=$1; shift COMMAND=$@ - $EXEC_CMD "$ERL \ + + CTLEXEC="$ERL \ $NAME ${CONN_NAME} \ -noinput \ -hidden \ -pa $EJABBERD_EBIN_PATH \ $KERNEL_OPTS \ - -s ejabberd_ctl -extra $ERLANG_NODE $COMMAND" + -s ejabberd_ctl -extra $ERLANG_NODE" + + # quote input from the command line + for i in $COMMAND; do + CTLEXEC="$CTLEXEC '$i'"; + done + + $EXEC_CMD "$CTLEXEC" } # display ctl usage