Now passes the arguments to the other side.
[xremote.git] / xremote.sh
index 2952bd2..cd6813c 100755 (executable)
@@ -18,7 +18,8 @@
 #########################################################################
 
 set -e
-set -o pipefail
+
+# set -o pipefail
 
 ######################################################################
 
@@ -80,6 +81,8 @@ main="$(basename "$1")"
 
 cd "$(dirname "$1")"
 
+shift
+
 trap cleanup_remote_tmp EXIT
 
 ######################################################################
@@ -103,13 +106,14 @@ do
 
             PRE)
                 check_remote_is_defined
+                echo "xremote: ${value}"
                 ssh < /dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${value}"
                 ;;
 
             SEND)
                 check_remote_is_defined
                 echo "xremote: -- sending files --------------------------------------------"
-                tar c ${value} | ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mxv"
+                tar ch ${value} | ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mxv"
                 ;;
 
             HOST)
@@ -140,7 +144,15 @@ else
     REMOTE_COMMAND="./${main}"
 fi
 
-ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${REMOTE_COMMAND}"
+######################################################################
+
+# I find this slightly ugly ...
+for s in "$@"
+do
+  quoted_args="${quoted_args} \"${s}\""
+done
+
+ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${REMOTE_COMMAND} ${quoted_args}"
 
 ######################################################################