如何使用 wsadmin 工具列出当前活动的websphere变量及其在节点/服务器中的值?另外,有没有办法使用正则表达式过滤结果?
由于
答案 0 :(得分:1)
AdminTask.showVariables
命令是一种方便的方法,允许您检索WAS环境变量。但是,在获取变量列表时,它们将作为字符串表示形式返回,因此对于此目的而言并不方便。
或者,您可以使用AdminConfig
。我不知道有任何方法可以使用正则表达式过滤这些命令的结果。 AdminConfig.list
命令允许通过正则表达式进行过滤,但我无法使用环境变量。我的 guess 是它根据name
属性进行过滤,但由于变量条目名称实际上是symbolicName
,因此它不起作用。通过应用一些自定义条件来测试symbolicName
,您仍然可以在检索所有变量后过滤结果。
import re
vars = AdminConfig.getid("/Node:%s/VariableMap:/VariableSubstitutionEntry:/" % node).splitlines()
for var in vars :
name = AdminConfig.showAttribute(var, "symbolicName")
if ( re.match("yourRegularExpression", name) ) :
value = AdminConfig.showAttribute(var, "value")
print "%s = %s" % (name, value)
答案 1 :(得分:1)
如果您希望One-liner Jacl打印值对......
wsadmin>
foreach x [$AdminConfig getid /Node:/VariableMap:/VariableSubstitutionEntry:/] { puts [$AdminConfig showAttribut
e $x "symbolicName"] ; puts [$AdminConfig showAttribute $x "value"] ; }