L'Isola di Niente
L'Isola di Niente » macOS Tips » macOS で JXA (AppleScript) を使う

macOS で JXA (AppleScript) を使う

JavaScript は今の Web には欠かせません。
node.js はもちろん Java の jjs や GNOME の gjs も JavaScript です。

AppleScript は JXA という JavaScript で記述できます。
勉強にもなるし活用しなきゃ損と思えるくらいです。

JXA の注意点

JavaScript は Perl や Python と違い実行エンジンが複数存在します。
そのためこの言語を使って行えることは実装ごとに異なり混乱することも少なくない。

ライブラリもすべてバラバラなので若干の方言があります。
たとえば JXA では var とセミコロンは必須ではありません。
標準出力は gjs では console.log ではなく print です。

なので以下は JXA 以外では通用しない場合もあります。

JXA コマンド

jxa というコマンドはありません。
osascript という AppleScript と同じコマンドを利用します。
基本は Script Editor.app で JavaScript を選択しコードを記述。
osascript ファイル名

img/scripteditor.png

又はプレーンテキストで JavaScript コードを書き *.js の拡張子を付ける。
コレを osascript に送っても実行することができます。
osascript filename.js
拡張子が js なら JavaScript と認識するので -l オプションは不要です。
よく使うスクリプトなら一行目にシバンを付けて実行パーミッション
./filename.js

img/vscode.png

拡張子を付けない場合は -l オプションで JavaScript を指定する。
Linux では普通ですが macOS ではちと不便。
#!/usr/bin/osascript -l JavaScript
Copyright(C) sasakima-nao All rights reserved 2002 --- 2017.