function help () {
cat <<EOF
-xremote.sh <executable>
+xremote.sh <script>
This script takes a script as argument and executes it remotely in a
temporary directory on a ssh-accessible server.
Example:
@XREMOTE_HOST: elk.fleuret.org
- @XREMOTE_SEND: mnist.py
+ @XREMOTE_EXEC: python3
+ @XREMOTE_SEND: main.cf
@XREMOTE_GET: *.dat
@XREMOTE_PRE: ln -s /home/fleuret/data/pytorch ./data
case "${label}" in
+ EXEC)
+ check_remote_is_defined
+ REMOTE_EXEC="${value}"
+ ;;
+
PRE)
check_remote_is_defined
ssh < /dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${value}"
tar c "${main}" | ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mx"
-echo "----------------------------------------------------------------------"
-echo "-- On ${REMOTE_HOST}"
-echo "----------------------------------------------------------------------"
-ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ./$(basename "${main}")"
+echo "On ${REMOTE_HOST}"
+
+if [[ "${REMOTE_EXEC}" ]]
+then
+ REMOTE_COMMAND="${REMOTE_EXEC} ${main}"
+else
+ REMOTE_COMMAND="./${main}"
+fi
+
+ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${REMOTE_COMMAND}"
echo "----------------------------------------------------------------------"
######################################################################