0

我正在尝试在 jacl 上的 wsadmin 中的安装脚本中使用变量。首先我指定

set nodeName [$AdminControl getNode]
set cellName [$AdminControl getCell]

然后在我的脚本中我想使用这两个变量,但由于某种原因它确实想要使用它们

$AdminApp install C:/ssc.war { -nopreCompileJSPs -installed.ear.destination $(APP_INSTALL_ROOT)/$(CELL) -distributeApp -nouseMetaDataFromBinary -nodeployejb -appname ssc_war -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED -nouseAutoLink -noenableClientModule -clientMode isolated -novalidateSchema -contextroot /ssc -MapModulesToServers {{"F" ssc.war,WEB-INF/web.xml WebSphere:cell=$**cellName**,node=$**nodeName**,server=server1}} -MapWebModToVH {{"Fortify Portal" ssc.war,WEB-INF/web.xml default_host}} -CtxRootForWebMod {{"Fortify Portal" ssc.war,WEB-INF/web.xml /ssc}}}

可能语法有问题

4

1 回答 1

0

在您提供的初始脚本中,我没有看到任何尝试使用变量nodeNamecellName. 另外,你真的关心提供所有这些论点吗?其中大部分是默认值。此外,您没有在 .war 路径周围加上引号,这是必需的。

$要在 wsadmin 脚本中使用变量,请在变量名前放置一个符号。如:

set myvar "test"
puts $myvar

所以,要安装一个应用程序,它应该很简单:

set cellName [$AdminControl getCell]
set nodeName [$AdminControl getNode]
set serverName [$AdminControl getServer]
$AdminApp install "C:/ssc.war" {
    -node $nodeName 
    -cell $cellName 
    -server $serverName
}

我建议看一下 IBM doc for WebSphere scripting,它描述了您正在尝试做的事情: Installing enterprise applications using wsadmin scripting

于 2015-11-06T03:34:23.677 回答