Files
BE_IBL/scripts/agent_upload_file
2026-04-15 15:12:37 +07:00

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" "$@"