【问题标题】:In OSX, how to use Automator to launch a program whose absolute path is not known在 OSX 中,如何使用 Automator 启动绝对路径未知的程序
【发布时间】:2014-01-30 00:36:19
【问题描述】:

我有一个程序,我想与另一个不使用命令行的 Mac 用户共享。这基本上与这里面临的问题相同:

Easy way to launch Python scripts with the mouse in OS-X

在回答上述问题时提出的最简单的解决方案是使用 Automator 创建一个可点击的应用程序,该应用程序运行一个打开程序的 shell 脚本。但是,这似乎需要使用绝对路径来定位程序,这取决于我知道我的 Mac 用户将其安装在他或她的硬盘上的什么位置。当我们不知道该文件夹的绝对路径时,自动启动与 Automator 应用程序位于同一文件夹中的程序的最简单方法是什么?

【问题讨论】:

  • 用户如何获取你的程序?它是独立的脚本文件还是其他可执行文件?它必须安装吗?您需要用户提供参数吗?
  • 这是一个不带参数的独立脚本文件;我可以将它直接通过电子邮件发送给用户,但是他/她需要打开终端来运行它,所以我宁愿将它与一个包含一个 shell 脚本的 Automator 应用程序一起压缩到一个文件夹中,单击该脚本将运行它.但是,这似乎依赖于我知道文件夹的绝对路径。我相信问题真的像上面描述的那样简单:只要我知道如何在 Automator shell 脚本中使用相对路径,我就可以做到这一切。

标签: macos automator


【解决方案1】:

在你提到的other question 中,我建议Platypus。对于您的用例,我认为这比 Automator 更好。你有理由不使用它吗?

如果您想使用 Automator,您可以将脚本粘贴到其中,而不是让它运行运行您的独立脚本的脚本。

根据您的用户对终端的过敏程度,您可以简单地提供带有 .command 文件扩展名的脚本。在这种情况下,当他们双击它时,它将自动在终端中打开并运行。他们不必手动输入任何终端命令,这可能是他们想要避免的,但他们必须查看终端。

【讨论】:

  • 非常感谢肯为我的实际问题提供有用的实用解决方案!我对您的答案投了赞成票,并将尝试所有这些想法:.command 扩展是一个特别有趣的选项。但是,我很想了解如何使用 Automator,所以我仍然坚持让某人通过解释如何使用相对路径来回答问题本身(而不是解决导致我提出问题的现实问题)在Automator中。 (我听说使用 AppleScript 可以做到这一点,但我还没有看到关于如何做到这一点的明确解释。)
  • 我用 Automator 做了一些实验。没有任何内置变量包含应用程序路径。我围绕 Run Shell Script 操作构建了一个应用程序,脚本为echo "$@" ; env。我没有发现任何有价值的东西。工作目录与保存的应用程序包的位置无关。也没有环境变量有它的路径。这似乎不可能,尽管我可能错了。
  • 非常感谢肯的调查工作!听起来好像对所问问题的答案可能只是“无法完成”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 2018-05-05
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多