アプリケーションをデプロイするためにbashスクリプトを生成しようとしています。デプロイする前に、Mavenを使用してアプリケーションをビルドする必要があります。問題は、Mavenのビルドが完了すると、次のコマンドが呼び出されないことです。 Mavenが追加の実行を終了するためにシグナルを送信しているようです。
たとえば、次のスクリプトではHello world
標準出力は作成されません。
#!/bin/sh
exec mvn -DskipTests -Darguments=-DskipTests clean install
echo "Hello world"
この制限を回避する方法はありますか?
答え1
exec
Mavenを呼び出すコマンドラインから削除するだけです。
このexec
コマンドはシェルを実行中のコマンドに置き換えるため、シェルは存在しなくなり、その行以降には何も実行されません(コマンドの開始が失敗しない限り)。
シェルが必要な場合は、exec
外部コマンドを生成するために使用しないでください。