用于从其包标识符获取程序路径的Shell脚本

时间:2017-10-17 10:30:04

标签: macos applescript

在shell脚本中,我需要从包标识符中知道程序的路径。

this SO question的最后一个答案几乎回答了我的问题:

E.g。为了获得XCode的路径,我们的想法就是启动AppleScript one liner:

osascript -e "POSIX path of (path to application id \"com.apple.dt.Xcode\")"

这会显示路径,但它也会启动Xcode程序。

有没有人知道如何在没有启动程序的情况下显示路径

除了使用AppleScript之外的任何其他方法当然都是受欢迎的。

1 个答案:

答案 0 :(得分:3)

您可以使用 Finder 获取路径:

osascript -e 'tell application "Finder" to POSIX path of ((application file id "com.apple.dt.Xcode") as alias)'

或者,您可以使用NSWorkspace类( macOS 10.6 + )的方法:

/usr/bin/python -c 'from AppKit import NSWorkspace; print NSWorkspace.sharedWorkspace().URLForApplicationWithBundleIdentifier_("com.apple.dt.Xcode").path()'