Pergunta

Eu tenho um script tcsh que gera um arquivo de texto. Uma das linhas no arquivo de texto é:

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

Observe o ' aninhada e " e também o : e ; que devem estar lá.

O : e ; requerem toda a cadeia a ser cercado por aspas. No entanto, se eu fizer isso, eu tenho dificuldade em escapar as aspas.

O comando é:

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

Como posso escapar as aspas ao redor bar bar bar de modo que eles são impressos corretamente?

Foi útil?

Solução

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

ou este:

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

Estes devem trabalhar para o exemplo simples que você deu, mas não pode ajudar para o que você está realmente tentando fazer ... Citando em tcsh sempre me incomodou, especialmente quando se tenta definir aliases com uma mistura de back-carrapatos, citações, e duplas qutes.

Esteja avisado que a segunda forma funciona para eco, mas na verdade, cria três argumentos separados na linha de comando, que são (depois de interpretar as sequências de escape):

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

A primeira forma é o que você deve usar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top