Como desabilitar a execução de um script bash depois de chamar algum comando?

1

Estou tentando criar um script bash para implantar um aplicativo. Antes da implantação, o aplicativo deve ser construído usando maven. O problema é que, uma vez que a construção do maven termina, o próximo comando nunca é chamado. Parece que o maven emite algum sinal para terminar qualquer outra execução.

Por exemplo no script a seguir, o Hello world nunca é gravado na saída padrão.

#!/bin/sh

exec mvn -DskipTests -Darguments=-DskipTests clean install

echo "Hello world"

Existe uma maneira de contornar essa limitação?

    
por Andy 03.11.2018 / 17:53

1 resposta

5

Basta remover o exec de sua linha de comando chamando Maven.

O comando exec substitui o shell com o comando sendo executado, então o shell não está mais por perto e não executará nada após essa linha (bem, exceto se a inicialização desse comando falhar).

Se você quiser o shell, não use exec para gerar comandos externos.

    
por 03.11.2018 / 17:55