11 votes

Localisation d'une application par son identifiant de bundle à partir de la ligne de commande

Je cherche un moyen de trouver l'emplacement d'une application sur le système à partir de la ligne de commande en utilisant son identifiant de paquet. Je peux l'ouvrir comme ceci :

open -b 'com.zerotier.ZeroTierOne'

... où com.zerotier.ZeroTierOne est mon identifiant de bundle, mais ce que je veux faire, c'est localiser l'endroit où l'application est réellement installée. Je veux une commande qui renvoie (par exemple) :

/Applications/ZeroTier One.app

en réponse à une requête portant l'identifiant "com.zerotier.ZeroTierOne".

L'option "-R" pour ouvrir révélera dans le finder mais je veux que ce soit complètement non-interactif et fait via un shell script.

24voto

Jave Points 1077

La commande magique est :

mdfind kMDItemCFBundleIdentifier = "com.zerotier.ZeroTierOne"

Vous pouvez le déterminer en remontant à partir de mdls foo | grep kMDItemCF

Donc, si vous ne le saviez pas, l'identificateur de groupe CF d'iPhoto :

Mac:~ me$ mdls /Applications/iPhoto.app | grep kMDItemCF
kMDItemCFBundleIdentifier           = "com.apple.iPhoto"

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