Eu tenho essa sequência de várias linhas (aspas incluídas):
abc'asdf"
$(dont-execute-this)
foo"bar"''
Como atribuiria a uma variável usando um heredoc no Bash?
Eu preciso preservar novas linhas.
Eu não quero escapar dos caracteres da string, isso seria irritante ...
"EOF"variável double qouted , se chamado via eval $VAR, fará com que todo o restante do script seja comentado, pois aqui $ VAR será visto como uma única linha ; para poder usar os #comentários do bash no script de múltiplas linhas, aspas duplas também variável no eval call: eval "$ VAR" `.
evalesse método, mas não o localizei, pois fazia parte de algum pacote com evalalgumas variáveis definidas no arquivo de configuração. Mensagem de erro foi: /usr/lib/network/network: eval: line 153: syntax error: unexpected end of file. Acabei de mudar para outra solução.
'EOF', com quebras de linha escapadas com o` in the content: if the second line hascomando cd`, volto: " .sh: linha X: cd: comando não encontrado "; mas se eu citar duas vezes"EOF"; as variáveis bash${A}não são preservadas como seqüências de caracteres (elas são expandidas); mas então, as quebras de linha são preservadas - e, não tenho problemas ao executar um comandocdna segunda linha ( e 'EOF' e "EOF" parecem funcionar bem também comeval, para executar um conjunto de comandos armazenados em uma variável de string ). Felicidades!