macos - 在 macOS 上,如何找到使用 “open” 命令打开的应用程序路径?

标签 macos terminal path environment-variables

在 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

  • macOS HighSierra (OSX 10.13.5)
  • 最佳答案

    我想我找到了另一个答案。

    此脚本不会在检查路径时启动应用程序 喜欢 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
    
  • REF: Applescript: Get path to .app without opening it @ Stackoverflow
  • 关于macos - 在 macOS 上,如何找到使用 “open” 命令打开的应用程序路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51296900/

    相关文章:

    macos - PyCharm Python 3.4 问题 : unresolved reference

    macos - 请使用 'pythonw' 运行,而不是 'python' - 无法从命令行 OSX 在 python/ipython 中进行绘图

    c++ - 代码在带有警告的 g​​++ 上编译,但在 clang3.1(Xcode 4.3.3) 上给出相同代码的错误

    python - ImportError : No module named cv2 error upon running . 终端中的 py 文件

    C++ 在终端中用回车重新打印文本

    linux - 一种解析终端输出/输入的方法? (.bashrc?)

    python - 为什么 virtualenv 不包含所有系统路径?

    c++ - 正则表达式:拆分到路径的最后一次出现

    bash - 向不同的终端发送不同的命令

    java - 从左边第二个斜线后剪切字符串