Pregunta

Tengo un script Tcsh que genera un archivo de texto. Una de las líneas en el archivo de texto es:

bla bla bla 'foo foo foo "bar bar bar"': etc etc;

Tenga en cuenta el ' anidada y " y también el : y ; que deben estar allí.

El : y ; requieren toda la cadena que se va entre comillas. Sin embargo, si lo hago, no tengo problemas para escapar de las comillas.

El comando es:

echo "bla bla bla 'foo foo foo "bar bar bar"': etc etc;" >> outfile

¿Cómo puedo escapar de las comillas alrededor de bar bar bar para que se imprimen correctamente?

¿Fue útil?

Solución

echo "bla bla bla 'foo foo foo "\""bar bar bar"\""': etc etc;"

o esto:

echo "bla bla bla 'foo foo foo "\"bar bar bar\""': etc etc;"

Estos deben trabajar por el simple ejemplo que diste, pero no pueden ayudar para lo que en realidad estás tratando de hacer ... Citando en tsch siempre me molesta, especialmente cuando se trata de definir alias con una mezcla de copias de las garrapatas, citas, y doble-qutes.

Ten en cuenta que la segunda forma de eco funciona, pero en realidad crea tres argumentos separados en la línea de comandos, que son (después de interpretar las secuencias de escape):

  • bla bla bla 'foo foo foo "barra
  • bar
  • bar " ', etc, etc;

La primera forma es la que debe utilizar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top