我有这个.sh
文件:
export WAS_BINARY_DIR="/opt/ibm/was"
export PROFILE_NAME="Dmgr01"
export WAS_PROFILE_DIR="/var/apps/was8nd/profiles"
export PROFILE_TYPE="management"
export CELL_NAME="Cell01"
export NODE_NAME="Cell01Node01"
export SEERVER_TYPE="DEPLOYMENT_MANAGER"
export HOST="localhost"
export START_PORT="10000"
export ADMIN_USER="wasadmin"
export ADMIN_PASSWORD="wasadmin"
$[WAS_BINARY_DIR]/bin/management.sh -create -profile $[PROFILE_NAME] -profilePath $[WAS_PROFILE_DIR]/$[PROFILE_NAME] -templatePath $[WAS_BINARY_DIR]/profileTemplates/$[PROFILE_TYPE] -serverType $[SERVER_TYPE] -cellName $[CELL_NAME] -hostName $[HOST] -nodeName $[NODE_NAME] -startingPort $[START_PORT] -isDefault -enableAdminSecurity true -adminUserName $[ADMIN_USER] -adminPassword $[ADMIN_PASSWORD]
当我运行bash -x <file>
时,我明白了:
createDMGR_node.sh:第12行:/ opt / ibm / was:语法错误:操作数 预期(错误标记为&#34; / opt / ibm / was&#34;)
我做错了什么?
答案 0 :(得分:1)
您正在使用$[var]
来引用变量var
。但这不正确,如有必要,请用${}
括起变量:
${WAS_BINARY_DIR}/bin/management.sh -create -profile ${PROFILE_NAME} -profilePath ...
^ ^ ^ ^
而不是
$[WAS_BINARY_DIR]/bin/management.sh -create -profile $[PROFILE_NAME] -profilePath ...
注意在这种情况下不需要${}
,但是引用它们是好的做法:
"$WAS_BINARY_DIR"/bin/management.sh -create -profile "$PROFILE_NAME" -profilePath ...