
Estou escrevendo um script de shell para implantar automaticamente um programa com Jboss-cli, no Linux Ubuntu. Preciso abrir a interface jboss cli e executar alguns comandos, mas quero fazer isso automaticamente. o que isso parece
cd /opt/jboss/bin
./jboss-cli.sh --connect
a linha acima abre a linha de comando do jboss. Gostaria de poder enviar um comando para o programa aberto como:
undeploy FlcErp.ear
Tentei fazer eco e fornecer texto direto, mas nada será executado até que o programa Jboss termine de ser executado.
Eu também tentei ./jboss-cli.sh --connect undeploy "FlcErp.ear"
, mas lê "FlcErp.ear"
como um comando
Responder1
Se jboss-cli.sh
ler a partir da entrada padrão, você poderá canalizar o comando para ela:
echo 'undeploy FlcErp.ear' | ./jboss-cli.sh --connect
Para executar vários comandos, você pode usar vários echo
comandos.
{ echo 'undeploy FlcErp.ear'; echo 'other gommands'; echo 'go here'; } | ./jboss-cli.sh --connect
mas um documento aqui geralmente é mais fácil:
./jboss-cli.sh --connect <<EOF
undeploy FlcErp.ear
other commands
go here
EOF