Избавьтесь от всех других повторений в сценарии, который вы отправляете, и просто сделайте так, чтобы оно повторяло новое значение. Затем вы можете назначить вывод ssh
для локальной переменной.
myerror=$(ssh -T my_remote_server <<'EOF'
error=3
myerror=$((error + 1))
echo "$myerror"
EOF
)
echo "### $myerror"
Если вам нужно несколько переменных, вы можете использовать сценарий для назначения переменных эха, а затем использовать eval
eval "$(ssh -T my_remote_server <<'EOF'
echo 'echo "==> ${PWD}"'
error=6
echo 'echo "==> ${error}"'
myerror=$((error + 1))
echo 'echo "===> ${myerror}"'
echo "myerror='$myerror'"
x=2
y=$((x * 3))
echo "y='$y'"
EOF
)"
echo "### $myerror"
echo "### $y"
Кстати, избавьтесь от привычки использовать все заглавные буквы. По соглашению эти имена зарезервированы для переменных среды.