echo guillemets imbriqués dans tcsh
-
11-09-2019 - |
Question
J'ai un script tcsh qui génère un fichier texte. L'une des lignes dans le fichier texte est:
bla bla bla 'foo foo foo "bar bar bar"': etc etc;
Notez le '
imbriquée et "
et aussi le :
et ;
qui doivent être là.
Le :
et ;
nécessitent toute la chaîne d'être entouré par des guillemets. Cependant, si je fais ça, j'ai du mal à échapper aux guillemets.
La commande est:
echo "bla bla bla 'foo foo foo "bar bar bar"': etc etc;" >> outfile
Comment puis-je échapper les guillemets autour bar bar bar
afin qu'ils obtiennent l'impression?
La solution
echo "bla bla bla 'foo foo foo "\""bar bar bar"\""': etc etc;"
ou ceci:
echo "bla bla bla 'foo foo foo "\"bar bar bar\""': etc etc;"
Ceux-ci devraient travailler pour l'exemple simple que vous avez donné, mais ne peut pas aider à ce que vous essayez de faire en fait ... en citant toujours tcsh m'a ennuyé, surtout lorsqu'on tente de définir des alias avec un mélange de back-tiques, citations, et double-qutes.
Il faut savoir que la deuxième forme fonctionne pour écho, mais il crée en fait trois arguments distincts sur la ligne de commande, qui sont (après l'interprétation des séquences d'échappement):
- bla bla bla bar « foo foo foo »
- bar
- bar " ': etc etc;
La première forme est celle que vous devez utiliser.