Você quer:
#!/bin/bash
su - mv2 <<'EOSU'
DELIVER_BRANCH="development"
echo "$DELIVER_BRANCH"
exit;
EOSU
Observe as aspas simples ao redor do primeiro EOSU
.
Se você os omitir, o heredoc passa por $
-interpolação antes de ser passado, o que significa que "$DELIVER_BRANCH"
é substituído pelo conteúdo atual (para o shell invocando su
) de $DELIVERY_BRANCH
, que está vazio:
DELIVERY_BRANCH=production
cat <<'EOSU'
DELIVER_BRANCH="development"
echo "$DELIVER_BRANCH"
exit;
EOSU
imprime
DELIVER_BRANCH="development"
echo "$DELIVER_BRANCH"
exit;
enquanto
DELIVERY_BRANCH=production
cat <<EOSU
DELIVER_BRANCH="development"
echo "$DELIVER_BRANCH"
exit;
EOSU
imprime
DELIVER_BRANCH="development"
echo production
exit;