Wildfly/JBoss CLI:如何将变量设置为表达式的结果?
Posted
技术标签:
【中文标题】Wildfly/JBoss CLI:如何将变量设置为表达式的结果?【英文标题】:Wildfly/JBoss CLI: How can I set a variable to the result of an expression? 【发布时间】:2021-07-20 23:55:33 【问题描述】:我有一个表达式可以读取数据源的用户名属性:
[standalone@localhost:9990 /] /subsystem=datasources/xa-data-source=MYDATASOURCE:read-attribute(name=user-name)
"outcome" => "success",
"result" => "DS_USERNAME"
我想将该结果存储在一个变量中,以便在其他表达式中使用它。
如果我简单地使用set,它会将变量设置为表达式本身,而不是结果:
[standalone@localhost:9990 /] set DSUSER=/subsystem=datasources/xa-data-source=MYDATASOURCE:read-attribute(name=user-name)
[standalone@localhost:9990 /] echo $DSUSER
/subsystem=datasources/xa-data-source=MYDATASOURCE:read-attribute(name=user-name)
[standalone@localhost:9990 /] $DSUSER
"outcome" => "success",
"result" => "DS_USERNAME"
我真的只是想以某种方式设置 DSUSER,这样 'echo $DSUSER' 会导致 'DS_USERNAME':
[standalone@localhost:9990 /] echo $DSUSER
DS_USERNAME
有什么办法可以做到吗? (我试过用管道将它传递给 grep,但这个 grep 不支持正则表达式捕获组)
【问题讨论】:
【参考方案1】:我相信您可以使用反引号 (`) 来做到这一点,例如:
set DSUSER=`/subsystem=datasources/xa-data-source=MYDATASOURCE:read-attribute(name=user-name)`
【讨论】:
以上是关于Wildfly/JBoss CLI:如何将变量设置为表达式的结果?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Wildfly (Jboss) 为 ws 端点访问 CXF jar
wildfly / jboss-eap:如何命名 JMS 资源以匹配 EJB2 ejb-jar.xml