Apps

osascriptを使ってMac OS XのコマンドラインからAppleScriptを実行する

osascriptを使ってMac OS XのコマンドラインからAppleScriptを実行する

OS Xのターミナル

Macユーザーは、必要に応じてコマンドラインからAppleScriptを実行できます。スクリプトファイルを直接実行するか、osascriptコマンドにプレーンテキストのスクリプト文を直接渡すことで実行できます。これは多くの用途で役立ちますが、特にコマンドラインで多くの時間を費やすユーザーや、SSHを使ってリモート管理タスクを実行するユーザーにとって便利です。


osascript コマンドは任意の OSA スクリプトを実行します。ここでは AppleScript に焦点を当てていますが、-l フラグを使用して言語を調整すると、osascript を使用して Javascript も実行できます。

コマンドラインからAppleScriptスクリプトファイルを実行する

Mac OS のターミナルから AppleScript スクリプト ファイルを実行するには、次のように osascript を .scpt コマンド ファイル パスにポイントするだけです。

osascript /example/path/to/AppleScript.scpt

例えば、VPNに自動接続するためのスクリプトをアプリケーションではなくスクリプトファイルとして保存した場合、osascriptコマンドをそのファイルに直接指定して実行できます。osascriptコマンドを適切なパスに指定するだけで、任意の.scptファイルを起動できます。AppleScriptのスクリプトエディタで作成されたものでも、プレーンテキストファイルから作成されたものでも、構文が正しければ問題ありません。

ターミナルから直接 AppleScript スクリプトステートメントを実行する

特定の AppleScript スクリプトまたはステートメントを .scpt ファイルとして保存せずに実行するには、-e フラグを使用し、次に必要な一重引用符と二重引用符を使用して、スクリプトを適切に引用符で囲み、エスケープします。

いくつかの例を挙げます。

osascript -e 'display dialog "Hello from osxdaily.com" with title "Hello"'

「Hello」というダイアログボックスが表示されます

osascript -e 'tell app "Finder" to make new Finder window'

新しいFinderウィンドウが開きます

osascript -e "set volume 0"

システムの音量をミュートします。

これまで、osascriptコマンドを使った短いAppleScriptを数多く紹介してきました。Mac OSのアプリケーションをコマンドラインから正常に終了する、Macの壁紙をコマンドラインから設定する、マウントされているすべてのボリュームを取り外す、システム音量をミュートまたは変更するなど、様々な機能が含まれています。AppleScriptについてさらに詳しく知りたい方は、MacOSおよびMac OS Xにバンドルされている「スクリプトエディタ」アプリケーションで、豊富な情報、構文、コマンド、そして役立つガイドを見つけることができます。

コマンドラインから AppleScript を使うための特に興味深いトリックをご存知ですか?ぜひ下のコメント欄で教えてください。