Macos 如何使用Spotlight运行shell脚本?

Macos 如何使用Spotlight运行shell脚本?,macos,spotlight,Macos,Spotlight,有没有办法在MacOSX10.6上使用Spotlight运行shell脚本?我希望能够在不打开终端的情况下直接从Spotlight调用shell脚本。使用.command后缀保存您的shell脚本-这使得它可以双击,您也应该能够直接从Spotlight运行它。我还想添加,如果在运行命令后需要“终端”窗口消失,可以将“终端设置”设置为这样做 当外壳退出时,它处于设置>>外壳>>下 这仍然会让终端运行,但脚本至少会在自身运行后进行清理 我用它编写了一个脚本来隐藏和显示桌面图标。从MacOS>=10.

有没有办法在MacOSX10.6上使用Spotlight运行shell脚本?我希望能够在不打开终端的情况下直接从Spotlight调用shell脚本。

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

我还想添加,如果在运行命令后需要“终端”窗口消失,可以将“终端设置”设置为这样做

当外壳退出时,它处于设置>>外壳>>下

这仍然会让终端运行,但脚本至少会在自身运行后进行清理


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

从MacOS>=10.0完成时,使终端窗口消失:

终端
首选项
>选择默认配置文件


然后,当外壳退出时,如果外壳干净地退出,则选择关闭另一种完全避免打开终端的方法:

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

do shell script "touch ~/testfile"
用您选择的代码替换
touch~/testfile
——正如您所见,它不需要有.command后缀,甚至不需要是脚本

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


另外,由于它是AppleScript,所以它可以与Mac UI交互——在显示对话框中显示结果,获取用户输入等。

它可以工作,但出现了带有消息
[进程完成]
的终端,必须手动关闭。有什么方法可以避免这种情况吗?@ChakradarRaju您可以更改终端首选项,以便在流程完成时关闭窗口。或者,您可以将shell脚本包装在应用程序包中,这样它就不会弹出窗口。最后,您可以创建一个小应用程序来运行shell脚本,并将其设置为运行所有或特定shell脚本的默认值。有没有办法做到这一点?我创建了一个带有echo“Parameter$1”的简单脚本,但在执行“myscript.command anything”时无法识别。您可以通过在shell脚本末尾执行一段AppleScript来关闭终端窗口,例如:
osascript-e'告诉应用程序“terminal”关闭(名称包含“.command”的每个窗口)“&
只需调整脚本名称。记住使用
chmod u+x/path/to/file
授予它执行权限