
Estoy escribiendo un script de shell para implementar automáticamente un programa con Jboss-cli, en Linux Ubuntu. Necesito abrir la interfaz jboss cli y ejecutar algunos comandos, pero quiero hacerlo automáticamente. lo que parece
cd /opt/jboss/bin
./jboss-cli.sh --connect
La línea de arriba abre la línea de comando de jboss. Me gustaría poder enviar un comando al programa abierto como:
undeploy FlcErp.ear
Intenté repetirlo y darle texto directo, pero no se ejecutará nada hasta que el programa Jboss termine de ejecutarse.
También lo intenté ./jboss-cli.sh --connect undeploy "FlcErp.ear"
pero se lee "FlcErp.ear"
como un comando.
Respuesta1
Si jboss-cli.sh
lee desde la entrada estándar, puede canalizar el comando hacia ella:
echo 'undeploy FlcErp.ear' | ./jboss-cli.sh --connect
Para ejecutar varios comandos, puede utilizar varios echo
comandos.
{ echo 'undeploy FlcErp.ear'; echo 'other gommands'; echo 'go here'; } | ./jboss-cli.sh --connect
pero un documento aquí suele ser más fácil:
./jboss-cli.sh --connect <<EOF
undeploy FlcErp.ear
other commands
go here
EOF