我有一个问题。我是新的bash脚本,但我正试图使我的java maven项目启动脚本。当我想启动程序时,我在终端上运行以下命令:cd /var/script/myproject/java && mvn exec:java
现在我试着把它翻译成bash,但是我不能让它工作。首先我试了下面这行:
exec cd /var/script/myproject/java && mvn exec:java
但是这会导致错误:
/var/script/myproject/java_toggle.sh: line 6: exec: cd: not found
然后我看到这个网站:https://www.baeldung.com/linux/cd-command-bash-script我看到他们单独使用了cd
命令,所以我尝试了以下命令:
cd /var/script/myproject/java
exec mvn exec:java
但是这似乎并没有改变exec的目录,因为它说没有maven项目。如何在不同的目录下运行mvn exec:java
作为bash脚本?请让我知道!
cd是内部bash命令,和"exec"尝试自己执行它而不是bash,但是没有/bin/cd(在这样的工具中没有意义)
所以你可能需要
exec "/bin/bash -c 'cd /var/script/myproject/java && mvn exec:java'"