| #!/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 |