在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之外的任何其他方法当然都是受欢迎的。
答案 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()'