Tengo esta cadena de varias líneas (citas incluidas):
abc'asdf"
$(dont-execute-this)
foo"bar"''
¿Cómo lo asignaría a una variable usando un heredoc en Bash?
Necesito preservar nuevas líneas.
No quiero escapar de los caracteres en la cadena, eso sería molesto ...
"EOF"
variable de doble qouted , si se llama vía eval $VAR
, hará que se comente todo el resto del script, ya que aquí $ VAR se verá como una sola línea ; para poder usar #
comentarios bash en un script multilínea, la comilla doble también es variable en el eval call:
eval "$ VAR" `.
eval
estos métodos, pero no lo rastreé porque era parte de un paquete que eval
contiene algunas variables definidas en su archivo de configuración. Mensaje de error fue: /usr/lib/network/network: eval: line 153: syntax error: unexpected end of file
. Acabo de cambiar a otra solución.
'EOF'
, con` in the content: if the second line has
saltos de línea escapados con el comando cd`, vuelvo: " .sh: línea X: cd: comando no encontrado "; pero si hago comillas dobles"EOF"
; entonces las variables bash${A}
no se conservan como cadenas (se expanden); pero luego, los saltos de línea se conservan, y no tengo ningún problema al ejecutar un comandocd
en la segunda línea ( y tanto 'EOF' como "EOF" parecen funcionar bien también coneval
, para ejecutar un conjunto de comandos almacenados en una variable de cadena ). ¡Salud!