1. AppleScriptとは何ぞや
UNIXユーザーのためのとっかかり
Bitz 村上 幸雄
開発環境:MacBook Pro (Retina, 13-inch, Late 2013) macOS 10.13.6 Xcode 9.4.1
発表日:2018/09/12
■はじめに
スマートフォン・エンジニアにとって、macOSはOfficeが動くUNIXという利点があり、シェル・ス
クリプトを利用した自動化に威力を発揮している。ただ、macOSにはMacintosh時代からの
APpleScriptがあり、これを利用しない手はない。
自動化したけど、アラートが表示されていて失敗したという悲しいトラブルも、これで回避できるか
も!?
■シェルスクリプトとして実行する
■シェルスクリプトからAppleScriptをよぶ
■AppleScriptからシェルスクリプトを呼ぶ
シェルスクリプトとして実行する
#!/usr/bin/osascript
display dialog "Welcome to AppleScript."
#!/bin/sh
osascript -e 'display dialog "Welcome to AppleScript."'
シェルスクリプトからAppleScriptをよぶ
set fileInfo to do shell script "cd ~; ls"
display dialog fileInfo
AppleScriptからシェルスクリプトを呼ぶ
2. ■最前面のアプリを終了させる
■最前面のアプリのダイアログを改行キーで閉じる
#!/usr/bin/osascript
tell application "System Events"
set fullname to name of (path to frontmost application)
end tell
set savedDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
set front_app to items 1 thru -2 of text items of fullname as
text
set AppleScript's text item delimiters to savedDelimiters
if front_app is "Firefox" then
tell application "Firefox"
quit
end tell
end if
最前面のアプリを終了させる
#!/usr/bin/osascript
tell application "System Events"
set fullname to name of (path to frontmost application)
end tell
set savedDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
set front_app to items 1 thru -2 of text items of fullname as
text
set AppleScript's text item delimiters to savedDelimiters
if front_app is "Firefox" then
tell application "System Events"
keystroke return
end tell
end if
最前面のアプリのダイアログを改行キーで閉じる