我想做一个简单的cron作业,在一天结束时将桌面上的所有文件移动到临时文件夹中。用于调试我写了这个bash脚本,当我使用bash:运行它时它就可以工作了
#!/bin/bash
/bin/mv ~/Desktop/* ~/Temp
保存了脚本,我正在使用以下cron作业:
59 23 * * * /bin/mv /Users/username/Desktop/* /Users/username/Temp
cron作业在我测试将某些内容打印到文件时执行。但不知何故,它不会移动文件?我有什么东西不见了吗?
建议使用正确的用户上下文修复bash脚本。
由于~
是由用户的上下文定义的。
可以将每个~
替换为$HOME路径:
sed -i "s|~|$HOME|g" your-script.sh
和/或在脚本中包含用户上下文:
sed -i "2i source $HOME/.bash_profile" your-script.sh