2014-10-30 96 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