¿Cómo pongo esta cadena con llaves y corchetes en una variable en un script bash?

Estoy tratando de configurar la siguiente cadena como una variable en un script bash y obtengo algunos errores. Supongo que es porque necesito usar comillas o escapar, etc.

VARIABLENAME=$([(A"sometest",SomeOtherText "MoreText"),(A"sometext",SomeOtherText 100),(A"Sometext,SomeOtherText "SomeText")]}))

Esto no funciona cuando trato de configurarlo.

preguntado el 24 de agosto de 12 a las 03:08

No funciona no es una buena descripción. No le envías un correo electrónico a un médico diciendo "No me siento bien, ¿qué debo hacer?". Por favor, describa su problema más detalladamente. Por ejemplo, ¿qué error te da? ¿Qué has intentado para solucionarlo? -

Lo siento, soy un poco novato para golpear. Además, envié esta pregunta prematuramente, pero solucionaron mi problema. No estoy seguro de por qué no me di cuenta de eso. -

Si hubiera usado un editor que usa el resaltado adecuado, habría sido fácil de detectar. De hecho, lo vi después de arreglar tu publicación; ¡stackoverflow resaltó el error para mí! -

2 Respuestas

El texto dentro $(...) se interpretará como un comando para ejecutar. Creo que quieres esto en su lugar:

VARIABLENAME='[(A"sometest",SomeOtherText "MoreText"),(A"sometext",SomeOtherText 100),(A"Sometext,SomeOtherText "SomeText")]})'

Use comillas simples alrededor de su cadena, ya que contiene comillas dobles y no contiene ninguna variable para expandir.

Respondido 24 ago 12, 05:08

Un error está cerca del final:

"Sometext,

hay una sin cerrar ".

Respondido 24 ago 12, 03:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.