Jacl/Tcl is a string-based language, and the {}
delimiter prevents variable interpolation, similar to ''
in UNIX shell programming. You want something like:
$AdminApp install $EARFILE "-nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -verbose -appname $APPNAME -createMBeansForResources -noreloadEnabled ..."
...or:
$AdminApp install $EARFILE [list -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -verbose -appname $APPNAME -createMBeansForResources -noreloadEnabled ...]
This Tcl tutorial might be of interest, particularly the "Evaluation & Substitutions" section.
Alternatively, you could avoid the complexities of Jacl strings by switching to -lang jython
.