如何为每个快捷方式运行脚本

时间:2018-07-18 15:38:53

标签: bash macos terminal

我正在运行Terminal cmd,该cmd从.bash_profile文件执行功能(如here所述)。

根据说明,我将该函数添加到了~/.bash_profile(可以在/home/user/.bash_profile处找到)

在我的终端上一切正常!

但是我如何在执行此终端cmd的Mac OS中创建快捷方式?

我尝试了Apple Automator(->,但错误:Cmd not found

我尝试了阿尔弗雷德(->但出现相同错误:Cmd not found

如何通过键盘快捷键??来执行此Terminal cmd?

我需要将脚本功能放置在另一个文件中(不是bash_profile吗?),或者该怎么做?

这是Automator试用版的图片:

enter image description here

2 个答案:

答案 0 :(得分:0)

打开Automator,选择“应用程序”,添加“运行Shell脚本”操作,然后将Shell命令放在引号之间(如果有文件,则可以将其拖放)。

除了播放外,现在您还可以将其保存(在任何地方作为应用程序),甚至可以设置图标。然后您有了一个应用程序,然后可以在system-preferences.app

中为其定义键盘快捷键。

这应该有效,至少对我有用。

确保您的脚本可执行:sudo chmod u+x <your-scriptname> 并将文件扩展名.command添加到您的文件名中。因此,脚本的名称应为filename.command。 然后,在Finder中单击脚本时,该脚本将被执行。

我希望能成功!

答案 1 :(得分:0)

将功能放在单独的文件中,例如suspend-script.shresume-script.shkill-script.sh;将它们放在/home/user/scripts这样的公用目录中。要在您的.bash_history中继续使用它们,请执行以下操作:

# in .bash_history
source "suspend-script.sh"
source "resume-script.sh"
source "kill-script.sh"

确保在每个脚本(chmod +x /home/user/scripts/*.sh)上都设置了可执行位。然后,将以下内容用于快捷键绑定:

/home/user/scripts/suspend-script.sh thing_to_suspend
/home/user/scripts/resume-script.sh thing_to_resume
/home/user/scripts/kill-script.sh thing_to_kill

由于它是功能的快捷方式,因此您必须选择一个 脚本来暂停/恢复/杀死(上面的*)。

例如,如果您想暂停/恢复/终止top进程,则可以使用以下命令:

/home/user/scripts/suspend-script.sh top
/home/user/scripts/resume-script.sh top
/home/user/scripts/kill-script.sh top