#!/usr/bin/env bash # CONSTANTS BASEDIR=$(dirname "$0") CONTAINER='' SOURCE_FILE='' DESTINATION_FOLDER='' # FUNCTIONS function usage { echo "$(basename "$0") " } function parse_options { while [[ $# -gt 0 ]]; do case "$1" in --help | -h) usage && exit 0 ;; *) if [[ -z $CONTAINER ]]; then CONTAINER=$1 elif [[ -z $SOURCE_FILE ]]; then SOURCE_FILE=$1 elif [[ -z $DESTINATION_FOLDER ]]; then DESTINATION_FOLDER=$1 else echo >&2 "Unknown option: $1" && usage && exit 2 fi ;; esac shift 1 # Move to the next argument done [[ -n $CONTAINER ]] || [[ -n $SOURCE_FILE ]] || [[ -n $DESTINATION_FOLDER ]] || (usage && exit 1) } function copy { incus file push "$SOURCE_FILE" "$CONTAINER/$DESTINATION_FOLDER" --uid 0 --gid 0 --create-dirs } # MAIN set -Eue parse_options $* copy