#!/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 | extract " >&2 exit 1 ;; esac fi