当我从 Spotlight 启动 bash 脚本时,如何抑制终端窗口?

当我从 Spotlight 启动 bash 脚本时,如何抑制终端窗口?

当我从 Spotlight 运行 bash 脚本时,会启动一个终端窗口来执行该脚本。脚本执行完成后,该窗口会关闭,但我想完全阻止该窗口出现在我的桌面上。

该脚本有几种变体(在同一个脚本中),与 {e,f,}grep 非常相似,使用启动名称 $0 来选择其选项。它将一些内容附加到文件并在文件上打开编辑器(emacs,尽管这并不相关),因此我需要交互的唯一窗口就是编辑器。

目前,每个变体的唯一开销是脚本的硬链接。我不想使用 Platypus 或 AppleScript 应用程序来启动它/它们,因为那样的话,每个变体就需要一整套程序包。我只想让终端以不显示其窗口的方式运行。

答案1

事实证明,Spotlight 不会索引文件的所有硬链接 - 只会索引其中一个 - 因此这种方法无论如何都会失败。

符号链接根本就没有被索引,因此将其划掉。

OS-X 别名被索引,但目标脚本的启动实例以脚本的原始名称开始 - 它没有关于哪个链接启动它的信息。

我决定每个变体使用一个 bash 脚本,该脚本仅使用适当的参数启动主脚本并在后台运行:

$ mainscript <args> &

运行辅助脚本的终端窗口闪烁的时间仅够在后台启动主脚本。它满足了我的需求。

相关内容