crontab执行Python脚本报错/bin/sh: Applications: command not found求助
解决crontab运行Python脚本的报错问题
先修正crontab时间格式
你的crontab命令写了6个*——crontab的时间字段只有5个(分、时、日、月、周),多出来的第6个星号会导致系统解析命令混乱,这是核心问题之一。正确格式应为:
* * * * * /opt/anaconda3/bin/python3 /Users/Usr/Documents/script.py
排查脚本内的路径调用错误
报错/bin/sh: Applications: command not found和脚本类型无关,大概率是脚本里调用了带空格的路径(比如/Applications下的程序)未做处理,或是使用了相对路径。crontab的执行环境和终端不同:
- 所有路径都要写绝对路径,带空格的路径需加引号,比如把
open Applications/xxx.app改成open "/Applications/xxx.app" - 调用系统命令也要用绝对路径,比如用
/usr/bin/open代替open
修正权限命令
你用的chmod +e是错误的,给脚本添加执行权限应该用:
chmod +x /Users/Usr/Documents/script.py
验证shebang的正确性
如果想通过shebang直接运行脚本,确保脚本第一行的路径准确:
#!/opt/anaconda3/bin/python3
赋予chmod +x权限后,crontab命令可简化为:
* * * * * /Users/Usr/Documents/script.py
内容的提问来源于stack exchange,提问作者Cauder
相关产品推荐
相关产品推荐

