使用 automator,caffeinate 创建服务

Creating a Service with automator, caffeinate

首先,抱歉我的英语不是母语。
因为我有点厌倦了打开 Termninal 和 ^C 我想创建一个快捷方式来激活我的 Mac OS X 10.11
上的 caffeinate -d 我一直在尝试一个简单的 Automator 服务,但以我的菜鸟技能,它不起作用。

这是设置:
我选择服务作为文档类型

库->实用程序->运行 Shell 脚本
服务接收:no input
在:any application
Shell: /bin/bash
传递输入:to stdin

CAFFEINATECHECK=`ps | grep caffeinate | cut -d ' ' -f7,8`
if [ $CAFFEINATECHECK == 'caffeinate -d' ]; then
killall caffeinate
else
caffeinate -d
fi

问题是这么短的纸条让运行没有反应,一分钟后我不得不停止
我希望有人能给我任何必要的提示

我在 a duplicate on Ask Different

中得到了解决方案

简而言之,只是用更优雅的命令行替换我的代码:

if [[ $(pgrep caffeinate) == "" ]]; then
    caffeinate -d &
else
    pkill caffeinate
fi 

我在 user3439894 的解决方案中所做的唯一更改是删除“&”(通常在命令行末尾有用 运行 它在后台)因为显然 Automator 不能很好地与它一起工作(遗憾的是我不记得我在哪里 read/heard 那..!) .

保存服务后我只需要

  1. 打开系统偏好设置键盘->快捷方式->服务
  2. 将我的快捷方式与我在右侧面板中 ▼ 常规下找到的已保存工作流绑定

这样,当咖啡因快捷方式被激活时,菜单栏上会出现一个齿轮 ⚙ 并旋转直到我停用它。