#!/usr/bin/env bash # Запускает desktop-приложение. # # По умолчанию Debug: быстрее собирается и даёт осмысленные стеки. Инспектора в Avalonia 12 # из коробки нет — см. README. # # ./run.sh Debug # ./run.sh -c Release --no-build запустить уже собранное # ./run.sh -- --какой-то-аргумент передать аргументы приложению set -euo pipefail cd "$(dirname "$0")" CONFIGURATION=Debug NO_BUILD=0 APP_ARGS=() while [ $# -gt 0 ]; do case "$1" in -c|--configuration) CONFIGURATION="$2"; shift 2 ;; --no-build) NO_BUILD=1; shift ;; -h|--help) sed -n '2,9p' "$0"; exit 0 ;; --) shift; APP_ARGS=("$@"); break ;; *) echo "Неизвестный аргумент: $1 (аргументы приложения — после --)" >&2; exit 2 ;; esac done ARGS=(run --project src/AvParser.Desktop -c "$CONFIGURATION") [ "$NO_BUILD" -eq 1 ] && ARGS+=(--no-build) [ ${#APP_ARGS[@]} -gt 0 ] && ARGS+=(-- "${APP_ARGS[@]}") printf '\033[36m==> dotnet %s\033[0m\n' "${ARGS[*]}" exec dotnet "${ARGS[@]}"