44

有没有办法在 Mac OS X 10.6 上使用 Spotlight 运行 shell 脚本?我希望能够直接从 Spotlight 调用 shell 脚本,而无需打开终端。

4

4 回答 4

61

.command后缀保存你的 shell 脚本——这使它可以双击,你也应该能够直接从 Spotlight 运行它。

于 2010-05-20T21:05:39.460 回答
4

我还想补充一点,如果您需要在运行命令后终端窗口消失,您可以设置终端设置来做到这一点。

当 shell 退出时,它在设置 >> shell >> 下。

这仍然会使终端运行,但脚本至少会自行清理。

我用它来编写脚本来隐藏和显示桌面图标。

于 2013-03-31T12:58:17.357 回答
1

要使终端窗口在 MacOS >= 10.0 完成后消失:

Terminal>>Preferences选择您的默认配置文件

然后Shell>When the shell exits选择Close if the shell exited cleanly

于 2020-08-31T19:04:55.290 回答
1

另一种完全避免打开终端的方法:

在 Mac 上打开脚本编辑器,确保从语言下拉列表中选择 AppleScript 并键入

do shell script "touch ~/testfile"

替换touch ~/testfile为您选择的代码 - 正如您所看到的,它不需要有 .command 后缀,甚至实际上也不需要是脚本。

现在转到文件 | 导出并从文件格式:下拉列表中选择应用程序。确保所有选项:未选中,并且从代码符号:下拉列表中选择了不要代码符号。随意命名,随意保存。现在您可以双击新的 AppleScript 应用程序或从 Spotlight 运行它,您的脚本将在不打开终端窗口的情况下运行。

作为奖励,因为它是 AppleScript,它可以与 Mac UI 交互——在显示对话框中显示结果、获取用户输入等。https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/概念/ASLR_fundamentals.html

于 2021-03-28T20:35:01.240 回答