1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/bin/bash
PROXY_PORT=${SSHPROXY_PORT:-2242}
PROXY_HOST=${SSHPROXY_HOST:-localhost}
PROXY_USER=${SSHPROXY_USER}
if [[ -z "${PROXY_USER}" ]]; then
if [[ -n "${USER}" ]]; then
PROXY_USER=${USER}
else
PROXY_USER=admin
fi
fi
REMOTE=$PROXY_USER@$PROXY_HOST
OPTS=( )
remote_set=
args=( )
while [ $# -gt 0 ]; do
case "$1" in
-*)
if [ "$1" = "-d" ]; then
verbose=true
else
OPTS=( "${OPTS[@]}" "$1" )
fi
;;
*:*)
if [ -z "$remote_set" ]; then
args=( "${args[@]}" "$REMOTE:$1" )
remote_set=yes
else
echo "Cannot have two remote locations"
exit 1
fi
;;
*)
args=( "${args[@]}" "$1" )
;;
esac
shift
done
[ -n "$verbose" ] && echo scp -oPort=$PROXY_PORT "${OPTS[@]}" "${args[@]}"
exec scp -oPort=$PROXY_PORT "${OPTS[@]}" "${args[@]}"
|