Files
goldenChart/scripts/desktop-installer-version.sh
T
2026-06-14 20:01:33 +09:00

34 lines
878 B
Bash
Executable File

#!/usr/bin/env bash
# GoldenChart Desktop 설치 파일명 ↔ semver 일치 검사 (부분 문자열 오매칭 방지)
set -euo pipefail
desktop_installer_matches_version() {
local file_name="$1"
local version="$2"
[[ -n "$file_name" && -n "$version" ]] || return 1
local escaped="${version//./\\.}"
[[ "$file_name" =~ GoldenChart[_-]${escaped}([_.-]|\.(dmg|exe)$) ]]
}
desktop_extract_version_from_name() {
local file_name="$1"
if [[ "$file_name" =~ GoldenChart[_-]([0-9]+\.[0-9]+\.[0-9]+) ]]; then
echo "${BASH_REMATCH[1]}"
fi
}
if [[ "${BASH_SOURCE[0]:-}" == "${0:-}" ]]; then
case "${1:-}" in
match)
desktop_installer_matches_version "${2:-}" "${3:-}"
;;
extract)
desktop_extract_version_from_name "${2:-}"
;;
*)
echo "Usage: $0 match <file> <version> | extract <file>" >&2
exit 1
;;
esac
fi