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

#### CATEGORY=Device management
### invoke scp with the build ssh config

## usage: fx scp <arguments to scp>
##
## This command invokes scp (SSH's file copy tool) with Fuchsia's SSH
## configuration.  Run "scp -h" to see the options that scp accepts.
##
## Example usage:
##
##   fx scp "[$(fx get-device-addr)]:source_file" dest_file

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $?
fx-config-read

case $1 in
  -h|--help)
  fx-command-help
  exit 0
  ;;
esac

scp -F "${FUCHSIA_BUILD_DIR}/ssh-keys/ssh_config" "$@"
