47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
if [[ "${1:-}" == "up" ]]; then
|
|
shift
|
|
target="${1:-}"
|
|
shift || true
|
|
|
|
if [[ "${1:-}" == "@" ]]; then
|
|
shift
|
|
fi
|
|
|
|
dry_run_args=()
|
|
extra_args=()
|
|
paths=()
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
@)
|
|
shift
|
|
continue
|
|
;;
|
|
--dry-run)
|
|
dry_run_args+=("--dry-run")
|
|
shift
|
|
;;
|
|
--source|--remote-path|--user|--key|--target)
|
|
extra_args+=("$1")
|
|
[[ $# -ge 2 ]] || { printf '[agent_upload_file] %s needs a value\n' "$1" >&2; exit 1; }
|
|
extra_args+=("$2")
|
|
shift 2
|
|
;;
|
|
*)
|
|
paths+=("$1")
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
[[ -n "$target" ]] || { printf '[agent_upload_file] missing target\n' >&2; exit 1; }
|
|
[[ ${#paths[@]} -gt 0 ]] || { printf '[agent_upload_file] missing path\n' >&2; exit 1; }
|
|
|
|
joined_paths=$(IFS=,; printf '%s' "${paths[*]}")
|
|
exec "$SCRIPT_DIR/agent_upload_file.sh" "${dry_run_args[@]}" --target "$target" --source . --paths "$joined_paths" "${extra_args[@]}"
|
|
fi
|
|
|
|
exec "$SCRIPT_DIR/agent_upload_file.sh" "$@"
|