将终端命令或脚本文件安排为每天在特定时间运行Mac OS X [英] Scheduling a terminal command or script file to run daily at a specific time Mac OS X

查看:19
本文介绍了将终端命令或脚本文件安排为每天在特定时间运行Mac OS X的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想让我的计算机在每晚11:45将其音量设置为特定级别我正在运行OSX 10.11.4。我可以通过

终端手动设置音量
osascript -e "set Volume 1.7"

或作为

的脚本
set volume 1.7

不过,我希望它被安排在晚上。在网上很难找到任何不是超级过时的东西。我真的不想用iCal。从我在网上发现的情况来看,launchd是可行的,但作为一个新手,我不知道从哪里开始。

我在/Library/LaunchAgents中看到了有关使用.plist的内容。所以我找到了一个漂亮的plist生成器Launched.zerowidth.com,但是我应该在plist中放入什么样的代码才能得到想要的效果呢?我还在怀疑,如果有任何用户登录,这是否是执行此操作的正确路径。

我走错路了吗?我对任何实现这一目标的想法都持开放态度,但我不想使用必须始终保持打开状态的第三方应用程序。

谢谢,

纳布

推荐答案

正如@TheDarkKnight指出的那样,cron已被弃用,取而代之的是Launchd。

要使用Launchd,请将以下内容保存为~/Library/LaunchAgents/中的com.example.volume.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.example.volume</string>
        <key>ProgramArguments</key>
        <array>
                <string>sh</string>
                <string>-c</string>
                <string>set volume 1.7</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
                <key>Hour</key>
                <integer>23</integer>
                <key>Minute</key>
                <integer>45</integer>
        </dict>
</dict>
</plist>
然后运行launchctl load ~/Library/LaunchAgents/com.example.volume开始。您可以通过launchctl start com.example.volume强制任务立即运行。

如果您希望以超级用户身份运行,请改为保存到/Library/LaunchDaemons/

这篇关于将终端命令或脚本文件安排为每天在特定时间运行Mac OS X的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆