Parece que aqui os docs deixam aspas duplas no lugar. Por exemplo, considere o seguinte comando:
cat <<HEREDOC
"this will still be quoted"
HEREDOC
Isso produzirá a seguinte string entre aspas como sua saída:
"this will still be quoted:
Então você deve ser capaz de citar suas variáveis como de costume:
SOME_STRING="SOME VALUE"
ssh server.com<<CODE
echo "$SOME_VALUE" > test_file.txt
TARGET="target dir"
COUNT="\$( ls /foo/bar/\$TARGET | wc -l )"
echo "\$COUNT" > count.txt
CODE
A respeito de cotar variáveis dentro de substituições de comandos, consulte o seguinte post: $ (substituição de comando) no Bash
Note que eu copiei o seu snippet textualmente, mas parece que você provavelmente quis usar a variável SOME_STRING
em vez de SOME_VALUE
. Esta é uma versão ligeiramente modificada do seu snippet que posso executar localmente com os resultados esperados:
mkdir -p "/foo/bar/target dir"
SOME_STRING="SOME VALUE"
ssh localhost<<CODE
echo "$SOME_STRING" > test_file.txt
TARGET="target dir"
COUNT="\$( ls "/foo/bar/\$TARGET" | wc -l )"
echo "\$COUNT" > count.txt
CODE