AppleScript Automator シェルコマンド シェルスクリプト プログラミング

osascript内でシェル変数を使う

ダブルクォーテーションをエスケープ

たまにシェルスクリプト内でApplescriptを使いたいときがあります。

例えばAutomator内でシェルスクリプトを使うときはechoが使えません。

そこでスクリプトの途中で何かをユーザーに通知したいときにはApplescriptでダイアログを出すと便利です。

シェル上でAppleScriptを使うコマンドはosascriptです。

osascript ファイル名 もしくは  osascript -eの後に続けてAppleScriptコマンドを書きます。

osascriptに渡すAppleScripitの中でシェルで設定した変数を使う時には,全体をダブルクォーテーションで囲み、変数を囲むダブルクォーテーションはエスケープします。

例えばこんな感じです。

Automatorアプリでドラッグ&ドロップしたファイル名を順番にダイアログで表示する例

for f in "$@"
do
	echo $f
	osascript -e "display dialog \"$f\" "
done

なお、全体をシングルクォーテーションで囲むとエラーになります。

全部ダブルクォーテーションで通すのがいいみたいです。

-AppleScript, Automator, シェルコマンド, シェルスクリプト, プログラミング