在 macOS 中,通过“打开”命令打开应用程序的选项之一如下所示:
$ open -a "Google Chrome"
$ open -a "GIMP"
但我意识到上面的命令 即使应用程序不在
/Applications
中也能正常工作也不是 ~/Applications
目录 .那么,“如何使用命令行获取此应用程序的路径”?
我尝试使用
find
命令并搜索整个机器,但我认为会有更简单的方法找到它。原因是我需要访问“.app”目录中的bin文件,如下所示:
$ /path/to/GIMP.app/Contents/MacOS/GIMP-bin --help-all
由于下面的命令似乎没有解析参数。
$ open -a "GIMP" --args --help-all
最佳答案
我想我找到了另一个答案。
此脚本不会在检查路径时启动应用程序 喜欢 Applescript one .
既然只是grep
是 lsregister
的转储结果,它可能不如 Applescript 准确,但到目前为止它似乎有效。
脚本:
使用 bash
查找应用程序路径的另一种方法( 不使用 AppleScript ) 使用 lsregister
命令。
#!/bin/bash
# findApp.sh
# ==========
NAME_APP=$1
PATH_LAUNCHSERVICES="/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister"
${PATH_LAUNCHSERVICES} -dump | grep -o "/.*${NAME_APP}.app" | grep -v -E "Caches|TimeMachine|Temporary|/Volumes/${NAME_APP}" | uniq
用法:
$ ./findApp.sh "Google Chrome"
/Applications/Google Chrome.app
$ ./findApp.sh GIMP
/Volumes/External_HDD/Applications/GIMP/GIMP_v2.8/GIMP.app
关于macos - 在 macOS 上,如何找到使用 “open” 命令打开的应用程序路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51296900/