2014-10-30 31 views
0

我想运行一个shell脚本文件使用cron,我得到权限被拒绝的错误。如何解决权限在cron中被拒绝的错误?

这是我的cron文件。

53 14 30 10 * $HOME/Documents/Python/shellScript.sh 

我想在今天的特定时间运行shellScript文件。

这是我的shellScript.sh文件。

osascript<<EOF 
tell application "System Events" 
    tell process "Terminal" to keystroke "t" using command down 
end 
tell application "Terminal" 
    activate 
    do script with command "python file1.py" in window 1 
end tell 
EOF 

osascript<<EOF 
tell application "System Events" 
    tell process "Terminal" to keystroke "t" using command down 
end 
tell application "Terminal" 
    activate 
    do script with command "./ngrok 5000" in window 1 
end tell 
EOF 

python file2.py 

我在邮件中得到这个。 /bin/sh:/Users/XXX/Documents/Python/shellScript.sh:权限被拒绝

如果有人能够帮助我,这将是非常好的。 谢谢

+1

发布的'ls -l命令shellScript.sh'输出。请编辑输出到您的文章 – inspectorG4dget 2014-10-30 19:12:52

+0

您必须在执行之前为您的脚本授予执行权限。 'chmod u + x shellScript.sh' – Hackaholic 2014-10-30 19:13:58

+0

@Hackaholic是的。如果你可以在答案中发布你的答案,那么我想接受它。 – user3745870 2014-10-30 19:29:44

回答

3

在执行之前,您必须赋予脚本执行权限。

chmod u+x shellScript.sh 
0

不知道为什么要调用osascript和终端在所有 - OSX的crond是完全能够运行的脚本本身。

你应该能够只是这样做:

#!/bin/bash 
python /path/to/file1.py & 
ngrok 5000 & 
python /path/to/file2.py 

,并确保作出上述可执行文件

chmod +x /full/path/to/shellScript.sh