
osascriptを使ってMac OS XのコマンドラインからAppleScriptを実行する
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 を使うための特に興味深いトリックをご存知ですか?ぜひ下のコメント欄で教えてください。