44 lines
		
	
	
		
			615 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			615 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								here=$(dirname "$0")
							 | 
						||
| 
								 | 
							
								# shellcheck source=net/common.sh
							 | 
						||
| 
								 | 
							
								source "$here"/common.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								usage() {
							 | 
						||
| 
								 | 
							
								  exitcode=0
							 | 
						||
| 
								 | 
							
								  if [[ -n "$1" ]]; then
							 | 
						||
| 
								 | 
							
								    exitcode=1
							 | 
						||
| 
								 | 
							
								    echo "Error: $*"
							 | 
						||
| 
								 | 
							
								  fi
							 | 
						||
| 
								 | 
							
								  cat <<EOF
							 | 
						||
| 
								 | 
							
								usage: $0 source ... target
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								node scp - behaves like regular scp with the necessary options to
							 | 
						||
| 
								 | 
							
								access network nodes added automatically
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								  exit $exitcode
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								while getopts "h?" opt; do
							 | 
						||
| 
								 | 
							
								  case $opt in
							 | 
						||
| 
								 | 
							
								  h | \?)
							 | 
						||
| 
								 | 
							
								    usage
							 | 
						||
| 
								 | 
							
								    ;;
							 | 
						||
| 
								 | 
							
								  *)
							 | 
						||
| 
								 | 
							
								    usage "Error: unhandled option: $opt"
							 | 
						||
| 
								 | 
							
								    ;;
							 | 
						||
| 
								 | 
							
								  esac
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								loadConfigFile
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [[ -n "$1" ]]; then
							 | 
						||
| 
								 | 
							
								  set -x
							 | 
						||
| 
								 | 
							
								  exec scp "${sshOptions[@]}" "$@"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exec "$here"/ssh.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exit 0
							 |