我正在编写一个 shell 脚本,以便在 linux ubuntu 中使用 Jboss-cli 自动部署程序。我需要打开 jboss cli 界面并执行一些命令,但我想自动执行此操作。它看起来像什么
cd /opt/jboss/bin
./jboss-cli.sh --connect
上面一行打开jboss命令行。我希望能够向打开的程序发送命令,例如:
undeploy FlcErp.ear
我尝试回显它并给它直接文本,但在 Jboss 程序运行完毕之前什么都不会执行。
我也尝试过,./jboss-cli.sh --connect undeploy "FlcErp.ear"
但它读"FlcErp.ear"
作命令
答案1
如果jboss-cli.sh
从标准输入读取,您可以通过管道将命令传递给它:
echo 'undeploy FlcErp.ear' | ./jboss-cli.sh --connect
要执行多个命令,可以使用多个echo
命令。
{ echo 'undeploy FlcErp.ear'; echo 'other gommands'; echo 'go here'; } | ./jboss-cli.sh --connect
但这里的文档通常更容易:
./jboss-cli.sh --connect <<EOF
undeploy FlcErp.ear
other commands
go here
EOF