버전 불일치 문제
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user