Java 我试图从cronjob调用gradle,但它没有';我似乎不会被处决
我刚刚在我的MacBook上安装了gradle,并想从cronjob调用share.sh,如下所示:Java 我试图从cronjob调用gradle,但它没有';我似乎不会被处决,java,bash,gradle,cron,Java,Bash,Gradle,Cron,我刚刚在我的MacBook上安装了gradle,并想从cronjob调用share.sh,如下所示: 16 22 * * * /workspace/ShareMyData/share.sh > /dev/null sh使用gradle执行用于Google数据共享的java代码。 下面是share.sh脚本片段 #!/bin/bash PWD=`pwd` # change to gradle project home cd /workspace/ShareMyData gradle -
16 22 * * * /workspace/ShareMyData/share.sh > /dev/null
sh使用gradle执行用于Google数据共享的java代码。
下面是share.sh脚本片段
#!/bin/bash
PWD=`pwd`
# change to gradle project home
cd /workspace/ShareMyData
gradle -q run
cd $PWD
cronjob正确地调用了share.sh,但是没有执行“gradle”命令的迹象;我还直接从命令行运行share.sh,一切正常。
我不知道为什么gradle不能在我的脚本中从cronjob执行。请在此方面提供帮助,并提前表示感谢 在cron中运行shell时,shell上运行的命令可能会有不同的行为。尝试在脚本中输入gradle的实际路径
/path/to/gradle -q run
您可以使用shell中的which命令找到实际路径
which gradle
将
哪个gradle
添加到您的脚本中,通过cron运行它,看看您得到了什么。这似乎是一个$PATH
设置问题。顺便说一句:如果这是您的完整脚本,您可以省略所有包含PWD
的行@Cyrus可以PWD
行,因为脚本在子shell中运行,并且不会影响任何其他shell的当前工作目录?@GeorgePantazes:是的。这确实是根本原因。通过在我的脚本/usr/local/bin/gradle-q run中这样修改它,它可以从cronjob中完美地运行。谢谢!