web-dev-qa-db-fra.com

programmes ouverts avec applescript

Question en 2 parties:

J'essaie simplement d'exécuter des programmes en utilisant applescript à partir du terminal, j'ai donc essayé:

$ osascript tell application "iTunes" to activate

et obtenez l'erreur:

osascript: tell: No such file or directory

Donner le chemin d'accès complet au programme n'a pas fonctionné non plus. Qu'est-ce que je rate? La deuxième partie de la question est pour quoi je veux finalement utiliser applescript. Je voudrais l'utiliser pour ouvrir une application que j'ai construite en utilisant py2app. Applescript peut-il ouvrir n'importe quelle application Mac ou seulement certaines qui sont déjà compatibles.

Merci

17
sabajt

Essaye ça. Notez que vous utilisez "-e" lorsque vous écrivez la commande. Sans "-e", vous donneriez un chemin vers un applescript à exécuter. Notez également que la commande de chaîne doit être entre guillemets.

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

Et si vous avez un applescript multi-lignes, vous utilisez "-e" avant chaque ligne comme ceci ...

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

Si vous voulez ouvrir une application, utilisez simplement la commande unix "open" ...

open "/path/to/application"

Si vous souhaitez ouvrir une application en utilisant applescript et que la commande "activate" ne fonctionne pas (elle devrait cependant fonctionner pour presque tout), dites au Finder de l'ouvrir. N'oubliez pas que applescript utilise des chemins séparés par deux points ...

osascript -e "tell application \"Finder\" to open file \"path:to:application\""
23
regulus6633

Dans un shell bash (comme dans Terminal), vous pouvez envoyer plusieurs lignes vers osascript en utilisant un "document ici".

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

devient

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

En tant que pirate Unix à l'ancienne, j'enregistre ces petits extraits dans mon répertoire $ HOME/bin et je les appelle à partir de la ligne de commande. Mais j'apprends toujours les détails.

Alan

9
Alan Porter

Essayer:

do Shell script "open /Applications/iTunes.app"
6
adayzdone

vous devez mettre des guillemets simples autour du tell:

osascript -e 'dites à l'application "iTunes" d'activer'

sinon vous définissez une variable lorsque vous exécutez -e

6
adus caeim

une alternative à osascript:

open -a Calendar

près de:

pkill Calendar
4
Darth Coder

Je suis aussi nouveau dans le script.

Je suis confus alors je scanne un essai nommé AppleScript Language Guide et lorsque je passe en revue les éléments des commandes de script, j'apprends que si vous voulez activer une application dans mac os avec applescript editor vous devez taper sous le code dans votre éditeur, puis les compiler et les exécuter! que cette réponse vous aide, voici le code:

// applescript editor code    

----------    

activate application "iTunes" line 1    

----------    

tell application "iTunes" to activate line 2
2
Vincent Hsu