创建全局快捷方式以运行命令行应用程序


31

我需要通过全局快捷方式运行命令行程序的哪些步骤?

我设置了Automator来创建新的Run Shell脚本,并尝试在“系统偏好设置”->“键盘”->“键盘快捷键”中分配快捷方式,但是没有任何反应。


1
我的问题不同。我根本不想打开终端窗口。
z缓冲区

1
如果您根本不希望打开“终端”窗口,那么您要问的是与链接帖子相同的内容。
丹尼尔

Answers:


8

Applescript:

do shell script "ls ~/Desktop"

在此处添加所需的内容,然后可以通过全局热键应用程序运行Applescript。我会推荐Spark

哦,我不知道通过“系统偏好设置”分配快捷方式


答对了。奇怪的是,此功能尚未内置到OSX中。非常感谢!
亚当·弗洛特

@Adam是的,有点奇怪。
daviesgeek 2011年

8
除了它通过Automator的服务,@AdamFlott内置于OS X,它只是接受你的答案不使用该方法。
丹尼尔

2
此外,的AppleScript和Automator OS X的一部分
丹尼尔

1
-1,表示没有充分的理由就使用第3方。
cregox

32

建议您在不了解所需内容的情况下,通过Automator创建新服务。服务可以绑定到按键触发器,并且可以执行shell脚本(除其他外)。 在此处输入图片说明

要设置键盘快捷方式,请转到系统偏好设置->键盘->快捷方式->服务,选择刚刚保存的服务,然后单击“添加快捷方式”按钮。


保存服务后,我不清楚如何设置键盘快捷键。
利隆·雅达夫

@LironYahdav见上文编辑
丹尼尔

12

FastScripts包含〜/ Library / Scripts /中的所有脚本,因此您不必手动添加文件。它还支持特定于应用程序的脚本。

可用于为运行脚本分配快捷方式的其他应用程序:

您还可以创建Automator服务:

  1. 打开Automator并选择“服务”模板
  2. 添加运行Shell脚本或运行AppleScript操作
  3. 检查输入类型和应用范围是否正确
  4. 粘贴脚本并保存服务
  5. 在键盘首选项窗格中分配快捷方式

10.7和10.8中有一个错误,在菜单栏中显示服务菜单之前,服务的快捷方式并不总是起作用。当最前面的应用程序没有菜单栏或服务菜单时,服务的快捷方式将不起作用。运行服务之前还有很短的延迟。


再加上一个提及其他也可以做​​到的应用程序。当我已经使用QuickSilver时,几乎差点安装了spark。我不知道它有那种选择。
马龙

同样,如果使用Automator方法,则“键盘首选项”窗格中添加快捷方式的部分将位于“服务”部分的下面。
布莱德·帕克斯

7

我尝试了所有这些选项,但是它们太复杂,不可靠或非常昂贵。因此,我最终编写了自己的解决方案(开源和免费)。

iCanHaz快捷方式

它现在不能做很多事情,但这只是一个开始。随时通过添加功能请求和建议做出贡献。


1
数小时以来,我一直在寻找一个解决该问题的简单方法,并且您的应用程序是唯一可以正常运行的应用程序,它可以完成应有的工作,而不会产生任何麻烦。谢谢!
Stijn Martens '18

@StijnMartens不客气!这就是其背后的全部思想-如果您仅需要命令的快捷方式,则可以获得命令的快捷方式。仅此而已。
deseven

效果很好。
Brian Schermerhorn

2

Quicksilver可用于将热键绑定到操作。

如果您发现自己经常做某事,则可以通过为其分配“触发器”来进一步加快任务的执行速度。可以通过键盘快捷键或鼠标移动来激活触发器

如果您要执行的是Unix命令或Shell脚本,则此Stackoverflow帖子会提供有关使用Quicksilver的“端子模块”的更多信息。


1

我将在这里使用BTT添加我的答案,因为它很容易并且实际上可以直接绑定到命令行脚本:

  1. 从BTT选择键盘

从BTT选择键盘

  1. 输入您的快捷方式(或按键顺序!)

输入您的快捷方式(或按键顺序!)

  1. 选择“触发预定义动作”,然后键入“ shell”以找到该动作。

选择“触发预定义动作”,然后键入“ shell”以找到该动作。

  1. 您可以粘贴要在其中运行的脚本和外壳程序:

您可以粘贴要在其中运行的脚本和外壳程序:

单击保存,您就完成了!现在,使用设置的键盘触发器测试脚本。

  1. 额外:您可能想添加注释以记住快捷方式是什么...

您可能想添加注释以记住快捷方式是什么...


谢谢,由于我有BTT,因此最终选择了这条路线。
Leo Ufimtsev

0

似乎它在10.6中可用(请参阅http://hints.macworld.com/article.php?story=20090903085255430),但在10.7.2(甚至可能是更早的10.7)中出现了问题。

我发现,虽然“ 系统偏好设置”位于最前列,但在包括Finder在内的任何其他应用程序中都没有出现,但“服务”键盘快捷键还是很受欢迎的。

但是,较早的使用Spark的建议在狮子中效果很好,只是我无法在键盘快捷键中使用Ctrl。(不是露骨的!)


仅在聚焦应用程序菜单时。如果您单击桌面并尝试了快捷方式,它将不起作用。单击查找程序菜单,然后尝试即可。我有一个针对Terminal的服务,该服务具有快捷方式并显示在所有应用程序上...但是,如果我不在应用程序内部,则该菜单不起作用,即使这样,菜单也需要具有焦点。
马龙

@Lri甚至在注销并重新登录后,重新启动计算机等。除非我如上所述进行操作,否则它仍然不起作用。不过,在Quicksilver中进行设置即可。我想知道QuickSilver为何能捕获那些“全局”快捷方式而不是OS。
马龙
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.