Como passar o comando para programar aberto no shell?

1

Estou escrevendo um script de shell para auto-implantar um programa com o Jboss-cli, no linux ubuntu. Eu preciso abrir a interface jboss cli e executar alguns comandos, mas eu quero fazer isso automaticamente. o que parece

cd /opt/jboss/bin
./jboss-cli.sh --connect

a linha acima abre a linha de comando do jboss. Eu gostaria de poder enviar um comando para o programa aberto como: undeploy FlcErp.ear

Eu tentei ecoar e dar um texto direto, mas nada será executado até que o programa Jboss seja executado.

Eu também tentei ./jboss-cli.sh --connect undeploy "FlcErp.ear" , mas ele lê "FlcErp.ear" como um comando

    
por Sam Orozco 22.09.2016 / 21:55

1 resposta

4

Se jboss-cli.sh ler a entrada padrão, você pode enviar o comando para ele:

echo 'undeploy FlcErp.ear' | ./jboss-cli.sh --connect

Para executar vários comandos, você pode usar vários comandos echo .

{ echo 'undeploy FlcErp.ear'; echo 'other gommands'; echo 'go here'; } | ./jboss-cli.sh --connect

mas um aqui-doc geralmente é mais fácil:

./jboss-cli.sh --connect <<EOF
undeploy FlcErp.ear
other commands
go here
EOF
    
por 22.09.2016 / 21:57