我在用着自我控制阻止干扰,我尝试每天使用launchd
带有启动控制 GUI 的 OSX 实用程序运行它。这会调用一个脚本,该脚本会计算出要阻止的时间量,然后在该时间内启动自我控制:
#!/bin/sh
#start Self Control block from Terminal
#see https://github.com/SelfControlApp/selfcontrol/wiki/Running-SelfControl-from-the-Terminal
#calculate block length in minutes
minutes_to_block=`python timetoblock.py`
#timetoblock prints "-1" if the time is between 5 and 10 pm
if [[ $minutes_to_block -le 0 ]]; then echo "done"; exit 0; fi
#tell Self Control what the block length is (by modifying its defaults)
defaults write org.eyebeam.SelfControl BlockDuration $minutes_to_block
#start block
sudo /Applications/SelfControl.app/Contents/MacOS/org.eyebeam.SelfControl $(id -u $(whoami)) --install
当我将鼠标悬停在该屏幕上的“错误 78”上时,它会显示退出代码,因此我认为它与脚本中的“exit 0”有关。但是,我有点不懂 bash,所以我不知道如何停止脚本。还有其他方法吗,还是问题出在launchd
解释方式上?
答案1
问题是您的脚本不可执行。我刚刚发布了新版本的 LaunchControl,它提供了更好的问题描述和一个 QuickFix 按钮来解决该问题。