10.12.3의 결과를 처리하려고합니다. OS에 고려해야 할 선택적 세 번째 숫자 값이있는 경우 어떻게 코딩합니까? 그리고 물론, 이것은 종종 변경되기 때문에 확장 된 업데이트를 찾고 싶지는 않습니다. 그냥 메인 OS 10.12, 10.11, 10.10 등major 및 minor 버전 번호로만 macOS 버전 번호 일치
if [ "$osv" = "10.12" ];
then
appi="Applications:App Store.app:Contents:Resources:AppIcon.icns"
elif [ "$osv" = "10.11" ];
then
appi="Applications:App Store.app:Contents:Resources:appStore.icns"
else
exit
fi
감사합니다.
은'awk'는 (-F' '지정된 구분자) 필드로 분할하고 인쇄 첫 번째 두 개의 특정 출력 필드 분리 합류, 입력으로 $의 osv''의 내용을 얻어 OFS와 함께. 이 출력은'$ (...) '구문 ... – ewcz
@JamesDean을 사용하여 변수'v'에 저장되거나이 접근법을'sw_vers'와 결합하여 major.minor 버전을'v = – ewcz
버전 번호가 이미 셸 변수에있는 경우 이것은 약간 무거운 것이지만 if (* 어쨌든'sw_vers -productVersion'을 호출하는 것은 가능한 접근법이지만,'sw_vers -productVersion | 컷 - 드. -f1-2'는 더 간단합니다. (잠재적으로 흥미로운 점은'awk'의'-F' 옵션은 일반적으로 _regex_를 기대하지만,'.'는 _literally_로 처리되는 예외입니다 - 아마도 어떤 문자로 나누어도 이해가되지 않을 것입니다. d는 빈 필드 만 가져옵니다.) – mklement0