Linux

如何通過命令在 shell 中打開程序?

  • July 23, 2018

我正在編寫一個 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"作命令

如果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

引用自:https://unix.stackexchange.com/questions/311704