2.5. 以非互动模式运行
您可以在不启动管理 CLI 命令的情况下发出管理 CLI 命令,并与管理 CLI 交互。这可用于处理批量命令并从脚本执行命令。您可以 传递命令, 或者 传递包含命令到 jboss-cli
启动脚本的文件。
传递命令
您可以使用 --command
参数提供要执行的单个 CLI 命令。命令完成后,管理 CLI 将终止。
$ EAP_HOME/bin/jboss-cli.sh --connect --command="/interface=public:read-attribute(name=inet-address,resolve-expressions=true)"
提供的每个命令的输出会在执行时显示。
{ "outcome" => "success", "result" => "127.0.0.1" }
您还可以使用 --commands
参数提供要执行的 CLI 命令的逗号分隔列表。
传递命令文件
您可以使用 --file
参数传递要执行的 CLI 命令的文本文件,每个命令位于文件的单独行中。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt
文件中每个命令的输出会在执行时显示。
输出示例
{ "outcome" => "success", "result" => "NORMAL" } helloworld.war
注意
您可以在 CLI 脚本中包含注释,以帮助理解和维护。注释以行首的井号(#)表示。在执行脚本时,JBoss EAP 会忽略您中包含的注释。
您可以使用 --echo-command
参数包含提示符和命令及输出。在通过将输出与执行的命令匹配来解决故障时,这非常有用。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt --echo-command
命令及其输出会在执行时显示。
使用命令选择的输出示例
[standalone@localhost:9990 /] :read-attribute(name=running-mode) { "outcome" => "success", "result" => "NORMAL" } [standalone@localhost:9990 /] ls /deployment helloworld.war