¿Cómo pasar el comando al programa abierto en Shell?

¿Cómo pasar el comando al programa abierto en Shell?

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.shlee 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 echocomandos.

{ 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

información relacionada