blob: de898747f6cc9c952922dd9adb6901ce336d8672 [file] [log] [blame]
#!/bin/bash
# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
### copy a file to/from a target device
## usage: fx cp [--to-target|--to-host] SRC DST
##
## Copies a file from the host to the target device, or vice versa.
##
## --to-target: copy file SRC from host to DST on the target
## --to-host: copy file SRC from target to DST on the host
##
## The default is to copy files to the target.
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $?
to_target=true
if [[ $# -eq 3 ]]; then
case "$1" in
--to-target)
to_target=true
;;
--to-host)
to_target=false
;;
*)
fx-command-help
exit 1
esac
shift
fi
if [[ $# -ne 2 ]]; then
fx-command-help
exit 1
fi
src="$1"
dst="$2"
host="$(get-fuchsia-device-addr)"
if [[ "${to_target}" = "true" ]]; then
fx-command-run sftp -q -b - "[${host}]" > /dev/null << EOF
- rm "${dst}"
put "${src}" "${dst}"
EOF
else
rm -f -- "${dst}"
fx-command-run sftp -q -b - "[${host}]" > /dev/null << EOF
get "${src}" "${dst}"
EOF
fi