如何执行脚本(例如mvnw),就像你在后台的那个目录一样?

时间:2017-08-16 21:57:42

标签: java linux bash

我的应用程序使用maven,你可以'cd'到这个目录/ path / app / execute /。并运行'mvnw',应用程序就可以了。

我的问题是我想在父目录中创建一个启动脚本:/path/app/startMyApp.sh。

它的内容是:

nohup /path/app/execute/mvnw &

我的问题是,当我cd到/ path / app并运行'./startMyApp.sh'时,我得到了:

  

错误:无法找到或加载主类   org.apache.maven.wrapper.MavenWrapperMain

如何将我的脚本保存在“mvnw”可执行文件的父目录中,并且能够像在脚本中作为后台进程(nohup)进入该目录一样执行它?

1 个答案:

答案 0 :(得分:0)

注意" mvnw"和" mvn"在您的问题中,如果问题的关键是将目录更改为nohup下的/ path / app / execute,那么:

nohup sh -c 'cd /path/app/execute; mvnw' &