26

2 部構成の質問:

端末からapplescriptを使用してプログラムを実行しようとしているだけなので、試しました:

$ osascript tell application "iTunes" to activate

そしてエラーを取得します:

osascript: tell: No such file or directory

プログラムへのフルパスを指定しても機能しませんでした。私は何が欠けていますか?質問の 2 番目の部分は、最終的に何のために AppleScript を使用したいかです。py2app を使用して構築したアプリケーションを開くために使用したいと思います。AppleScript は、任意の Mac アプリまたは既に互換性のある特定のアプリを開くことができます。

ありがとう

4

6 に答える 6

28

これを試して。コマンドを記述するときに「-e」を使用していることに注意してください。「-e」を指定しないと、実行する AppleScript へのパスが指定されます。また、文字列コマンドは引用符で囲む必要があることに注意してください。

osascript -e "tell application \"iTunes\" to activate"

複数行の AppleScript がある場合は、このように各行の前に「-e」を使用します...

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"

アプリケーションを開きたい場合は、UNIX の「open」コマンドを使用してください...

open "/path/to/application"

AppleScript を使用してアプリケーションを開きたいのに、「アクティブ化」コマンドが機能しない場合 (ほとんどすべてのアプリケーションで機能するはずですが)、Finder にそれを開くように指示してください。Applescriptはコロンで区切られたパスを使用することに注意してください...

osascript -e "tell application \"Finder\" to open file \"path:to:application\""
于 2012-04-05T07:02:52.283 に答える
13

bashシェル(ターミナルなど)では、「ヒアドキュメント」を使用して複数行をosascriptに送信できます。

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"

になります

osascript <<EOF
tell application "iTunes"
   activate
end tell
EOF

昔ながらのUnixハッカーとして、私はこれらの小さなスニペットを$ HOME / binディレクトリに保存し、コマンドラインから呼び出します。しかし、まだ詳細を学んでいます。

アラン

于 2013-01-12T14:42:45.547 に答える
7

試す:

do shell script "open /Applications/iTunes.app"
于 2012-04-05T19:44:17.367 に答える
6

Tell を一重引用符で囲む必要があります。

osascript -e 'アプリ「iTunes」にアクティベートを指示'

それ以外の場合は、 -e を実行するときに変数を定義しています

于 2012-12-31T17:53:35.243 に答える
2

私もスクリプトは初めてです。

私は混乱しているので、という名前のエッセイをスキャンし、AppleScript Language Guide スクリプトコマンド項目を調べたときに、アプリケーションをアクティブにしたい場合は、エディターでコードの下に入力し、コンパイルして実行する必要があることを学びmac osましapplescript editorた! この回答が役に立ちますように。コードは次のとおりです。

// applescript editor code    

----------    

activate application "iTunes" line 1    

----------    

tell application "iTunes" to activate line 2
于 2013-01-30T12:47:23.477 に答える