728x90
macOS 자동화 작업을 해야 하는 상황이 생겼다.
리서치를 해보니 AppleScript로 macOS관련 다양한 자동화를 할 수 있던것을 찾았고 그것에 대해서 공부하고 정리해봤다.
AppleScript란?
- 애플이 개발한 자동화 스크립트 언어
- 사용자의 작업을 간소화 하고 일상적인 업무 프로세스 자동화에 도움
- 애플리케이션 간의 상호작용 및 통합도 쉽게 구현 가능
- macOS 운영체제와 통합되어 있음
AppleScript로 할 수 있는 것들
- 파일 및 폴더 관리, 애플 애플리케이션 작업 자동화, 작업 스케줄링 및 다른 일상적인 작업을 자동화 할 수 있음
- Safari, Mail, iTunes, Pages, Numbers 등 Apple 애플리케이션을 제어하고 스크립트로 작업 수행
- macOS 시스템 설정 변경 또는 사용자 환경 구성 가능
- 파일 및 폴더 생성, 복사, 이동 이름 변경 및 삭제 가능
- 사용자와 상호작용하는 대화형 스크립트 구현 가능, 이를 통해 사용자로부터 정보를 수집하고 결과 표시
AppleScript 문법
기본 문법
변수
- 선언을 할때는 set 키워드 사용
set variable to "허니베져팀은 짱이야"
출력
- display dialog 사용
display dialog "허니베져의 팀은 6명이다."
조건문
- if, else, end if 사용
if myVariable is "허니베져팀은 짱이야" then display dialog "변수는 '허니베져팀은 짱이야'입니다."
else display dialog "변수는 다른 값입니다."
end if
반복문
- repeat, end repeat 사용
repeat with i from 1 to 5 display dialog "반복: " & i
end repeat
do shell script
!https://pf-emoji-service--cdn.us-east-1.prod.public.atl-paas.net/atlassian/warning_64.png
셀 스크립트 실행할때, 시스템 레벨 명령을 사용할 때 신중하게 해야 함, 시스템 손상 주의
set myResult to do shell script "echo 'Hello, Shell Script!'"
display dialog myResult
- "echo 'Hello, Shell Script!'를 실행하고 결과를 myResult 변수에 저장한다음 결과 표시
AppleScript 예제
사용자 입력 받고 출력하기
set userName to text returned of (display dialog "팀 이름이 뭔가요?:" default answer "")
display dialog "안녕하세요, " & userName & "님!"
애플 애플리케이션 실행
tell application "Safari" activate
end tell
파일 생성 및 쓰기
set myFile to open for access "/Users/username/myfile.txt" with write permission
write "이미지 파일 변환 성공 텍스트" to myFile
close access myFile
파일 또는 폴더 생성
do shell script "mkdir ~/Desktop/NewFolder"
전체화면으로 애플리케이션 실행
tell application "Safari" activate delay 1 set bounds of window 1 to {0, 0, 1920, 1080} *- 전체 화면 크기로 설정*
end tell
시스템 레벨 명령
- 컴퓨터 시스템의 운영체제나 하드웨어와 상호작용하기 위한 명령어
- 시스템의 핵심적인 기능을 제어하거나 관리하는 데 사용
- 시스템의 동작, 네트워크 설정, 사용자 관리, 파일 시스템 관리 등과 관련된 작업을 수행
애플 스크립트 참고 사이트
728x90
'AppleScript' 카테고리의 다른 글
[AppleScript] Numbers 변환 (0) | 2023.10.04 |
---|