echo aspas aninhadas em tcsh
-
11-09-2019 - |
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?
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.