10 votes

Comment ouvrir une application en utilisant le Terminal ?

Je veux être en mesure d'ouvrir n'importe quelle application à partir du terminal, maintenant j'ai essayé

osascript -e 'open app "Calendar"'

J'ai essayé pour Mail, Calendar et Slack . Slack s'ouvre effectivement mais génère un message d'erreur dans le terminal Les deux autres génèrent des erreurs et ne s'ouvrent pas. Les erreurs sont des erreurs d'exécution.

Maintenant j'ai essayé avec AppleScript, est-ce que bash est meilleur ?

Comment cela peut-il être fait ?

21voto

grg Points 181593

Vous pouvez utiliser la fonction -a option :

open -a Mail

Vous pouvez spécifier le chemin de l'application à la place :

open /Applications/Mail.app

Si vous voulez utiliser AppleScript (osascript en ligne de commande), open app n'est pas tout à fait équivalent. Au lieu de cela, vous pouvez soit utiliser

osascript -e 'tell application "Mail" to activate'

ou

osascript -e 'tell application "Mail" to launch'

Vous pouvez voir cette question pour la différence entre les deux.

4voto

Mkk Points 3051

Comme l'a dit #grg, vous pouvez utiliser open -a ApplicationName

Exemple
open -a Calendar

Il existe un certain nombre d'options qui peuvent être utilisées avec l'option open commandement.

Pour les voir tous, tapez sur le terminal

man open

Voici une liste d'options possibles pour le open mando.

$ open
Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b ] [-a ] [filenames] [--args arguments]
Help: Open opens files from a shell.
By default, opens each file using the default application for that file.
If the file is in the form of a URL, the file will be opened as a URL.
Options:
-a Opens with the specified application.
-b Opens with the specified application bundle identifier.
-e Opens with TextEdit.
-t Opens with default text editor.
-f Reads input from standard input and opens with TextEdit.
-F --fresh Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
-R, --reveal Selects in the Finder instead of opening.
-W, --wait-apps Blocks until the used applications are closed (even if they were already running).
--args All remaining arguments are passed in argv to the application main() function instead of opened.
-n, --new Open a new instance of the application even if one is already running.
-j, --hide Launches the app hidden.
-g, --background Does not bring the application to the foreground.
-h, --header Searches header file locations for headers matching the given filenames, and opens them.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X