
我正在編寫一個 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