Mac의 UNIX 스크립트에서 변수로 해상도 결정 및 사용


0

NetRestore 이미지를 MacBook, MacBook Pro, Mac Pro, iMac 및 Mac Mini 등 여러 종류의 Mac에 배포하고 있습니다. 사용하고 싶은 몇 가지 사용자 지정 디자인 된 로그인 화면이 있지만 10.10 이전의 모든 항목에서는 모니터 해상도를 알아야합니다. 그렇지 않으면 로그인 배경이 올바르게 표시되지 않습니다.

이 코드의 출력을 일련의 IF / THEN 문에 대한 변수로 사용하는 방법이 있습니까?

system_profiler SPDisplaysDataType |grep Resolution

일반 출력은 다음과 같습니다

  Resolution: 2560 x 1440
  Resolution: 1920 x 1200
  Resolution: 1920 x 1200

(이것은 모니터가 3 개인 경우입니다. 첫 번째 결과를 사용하고 싶습니다.)

내 의도는 Mac을 Active Directory에 바인딩 할 때 (수동으로 수행해야 함) 스크립트가 실행되므로 해상도를 이미 사용할 수 있어야합니다. 올바른 해상도 이미지를 선택한 다음 필요한 위치에 복사합니다.

또는 우연히 어떤 유형의 Mac에서도 작동하는 사용자 정의 로그인 창 배경 및 사용자 배경을 생성하는 방법에 대한 좋은 아이디어가 있습니까? (시스템 환경 설정에서 "화면에 맞추기"를 선택할 때 OS와 마찬가지로)

감사!

답변:


1

쉘 스크립트에 넣을 것을 찾고 있다면 다음과 같은 것을 실행할 수 있습니다.

if [[ $(system_profiler SPDisplaysDataType |
             grep Resolution |
             head -1 |
             tr -d ' ') == 'Resolution:2560x1440' ]]; then
    # do whatever is needed to do for 2560x1440
end if

case진술을 사용하여 여러 해결 방법을 처리 할 수도 있습니다

case  $(system_profiler SPDisplaysDataType |
            grep Resolution |
            head -1 |
            tr -d ' ') in
    Resolution:2560x1440)
        # handle 2560x1440
        ...
        ;;
    Resolution:1920x1200)
        # handle 1920x1200
        ...
        ;;
esac
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.