Я не понимаю, почему вы используете cut
для разделения аргументов вашей функции. Просто сделай
APP_SPECIFIC_DEPLOY_SCRIPT=$1
BRANCH=$2
JBOSS_HOME=$3
# etc.
Если вы не заключите в кавычки здесь свой документ, содержимое будет расширено до того, как оно будет отправлено на сервер. Это может быть то, что вы хотите. Если вы этого не сделаете и хотите, чтобы все развертывание выполнялось на стороне сервера, укажите это следующим образом:
ssh me@$SERVER <<'END'
# etc.
END
Если вы не хотите смешивать, не заключайте в кавычки разделитель, но избегайте тех вещей, для которых вы хотите отсроченное расширение:
ssh me@$SERVER <<END
echo $EXPAND_ME_NOW \$EXPAND_ME_LATER
END
Что должны делать операторы export
? Я не вижу, чтобы они вообще имели какой-либо эффект.