SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
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からシェルスクリプトを呼ぶ
■最前面のアプリを終了させる
■最前面のアプリのダイアログを改行キーで閉じる
#!/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
最前面のアプリのダイアログを改行キーで閉じる

Más contenido relacionado

Más de 幸雄 村上

Más de 幸雄 村上 (20)

アプリケーション識別子.pdf
アプリケーション識別子.pdfアプリケーション識別子.pdf
アプリケーション識別子.pdf
 
圧縮ネイティブ・ライブラリについて.pdf
圧縮ネイティブ・ライブラリについて.pdf圧縮ネイティブ・ライブラリについて.pdf
圧縮ネイティブ・ライブラリについて.pdf
 
分散環境におけるジャストインタイム設定の試み
分散環境におけるジャストインタイム設定の試み分散環境におけるジャストインタイム設定の試み
分散環境におけるジャストインタイム設定の試み
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
え!それって参照渡し?
え!それって参照渡し?え!それって参照渡し?
え!それって参照渡し?
 
プライバシーとセキュリティ(リモート通知のデバイストークンの扱いなど)
プライバシーとセキュリティ(リモート通知のデバイストークンの扱いなど)プライバシーとセキュリティ(リモート通知のデバイストークンの扱いなど)
プライバシーとセキュリティ(リモート通知のデバイストークンの扱いなど)
 
AppleScriptなど
AppleScriptなどAppleScriptなど
AppleScriptなど
 
MojaveのDark Mode
MojaveのDark ModeMojaveのDark Mode
MojaveのDark Mode
 
Web API 通信の符号化について
Web API 通信の符号化についてWeb API 通信の符号化について
Web API 通信の符号化について
 
Master-Detail App を実装する
Master-Detail App を実装するMaster-Detail App を実装する
Master-Detail App を実装する
 
SwiftのOptionalを理解する
SwiftのOptionalを理解するSwiftのOptionalを理解する
SwiftのOptionalを理解する
 
Getting a packet trace
Getting a packet traceGetting a packet trace
Getting a packet trace
 
The Bash in Tokyo : AppKitとUIKit
The Bash in Tokyo : AppKitとUIKitThe Bash in Tokyo : AppKitとUIKit
The Bash in Tokyo : AppKitとUIKit
 
RUDP
RUDPRUDP
RUDP
 
Swiftでブロックチェーンを実装する
Swiftでブロックチェーンを実装するSwiftでブロックチェーンを実装する
Swiftでブロックチェーンを実装する
 
ゲームの企画書づくりに挑戦
ゲームの企画書づくりに挑戦ゲームの企画書づくりに挑戦
ゲームの企画書づくりに挑戦
 
IBM Watson Services for Core ML
IBM Watson Services for Core MLIBM Watson Services for Core ML
IBM Watson Services for Core ML
 
独自Documentクラス
独自Documentクラス独自Documentクラス
独自Documentクラス
 
独自Documentクラス
独自Documentクラス独自Documentクラス
独自Documentクラス
 
Bukuro.makers
Bukuro.makersBukuro.makers
Bukuro.makers
 

Último

Último (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

AppleScriptとは何ぞや

  • 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 最前面のアプリのダイアログを改行キーで閉じる