Ho questa stringa multilinea (virgolette incluse):
abc'asdf"
$(dont-execute-this)
foo"bar"''
Come lo assegnerei a una variabile usando un heredoc in Bash?
Devo preservare le nuove righe.
Non voglio sfuggire ai personaggi nella stringa, sarebbe fastidioso ...
"EOF"variabile double-qouted , se chiamato via eval $VAR, farà commentare tutto il resto dello script, poiché qui $ VAR verrà visto come una riga singola ; per poter usare i #commenti bash nello script multilinea, virgolette doppie anche variabili eval call: nell'eval "$ VAR" `.
evalquesto metodo, ma non l'ho rintracciato poiché faceva parte di alcuni pacchetti che sono evalalcune variabili definite nel suo file di configurazione. Messaggio di errore era: /usr/lib/network/network: eval: line 153: syntax error: unexpected end of file. Sono appena passato a un'altra soluzione.
'EOF'con` in the content: if the second line hasvirgolette singole , con interruzioni di riga con escape con comando cd`, torno indietro: " .sh: riga X: cd: comando non trovato "; ma se doppi virgolette"EOF"; quindi le variabili bash${A}non vengono conservate come stringhe (vengono espanse); ma poi, le interruzioni di riga vengono mantenute - e, non ho problemi a eseguire un comando concdin seconda riga ( e sia 'EOF' che "EOF" sembrano giocare bene anche coneval, per eseguire una serie di comandi memorizzati in una variabile stringa ). Saluti!