在 Apple M1 中使用 crontab 时 for 循环不起作用

for loop does not work when using crontab in Apple M1

只是一个简单的shell脚本:

#!/bin/zsh

for file in ~/Desktop/*
do
    echo ${file}
done

在终端运行时,输出如下:

$ ./test
/Users/onns/Desktop/Screen Shot 2021-04-25 at 19.48.46.png
/Users/onns/Desktop/Screen Shot 2021-04-25 at 19.52.42.png
/Users/onns/Desktop/Screen Shot 2021-04-25 at 19.53.38.png
/Users/onns/Desktop/Screen Shot 2021-04-25 at 19.54.03.png

一切正常,但是当我通过crontab测试时,输出是:

/Users/onns/Desktop/test:3: no matches found: /Users/onns/Desktop/*

*在使用crontab时不展开,有谁知道为什么?

cron 任务是:

* * * * * /bin/zsh /Users/onns/Desktop/test >>/Users/onns/Desktop/out.log 2>>/Users/onns/Desktop/err.log

修复它。您需要授予 cron 完整磁盘访问权限 ,而不是 crontab,而不是 crontab!