Frage

Ich habe einen tcsh-Skript, das eine Textdatei erzeugt. Eine der Leitungen in der Textdatei ist:

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

Beachten Sie den verschachtelten ' und " und auch die : und ;, dass es sein muss.

Die : und ; erfordern die ganze Reihe von Anführungszeichen umgeben werden. Allerdings, wenn ich das tun, ich habe Schwierigkeiten zu entkommen die Anführungszeichen.

Der Befehl lautet:

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

Wie kann ich die Anführungszeichen um bar bar bar zu entkommen, so dass sie korrekt gedruckt werden?

War es hilfreich?

Lösung

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

oder folgt aus:

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

Diese sollten für das einfache Beispiel arbeiten Sie gab, kann aber für nicht helfen, was Sie eigentlich ... Zitiert in tcsh immer ärgerte mich versuchen zu tun, vor allem wenn man versucht, Aliase zu definieren, mit einer Mischung aus Back-Zecken, Zitate und Doppel qutes.

Seien Sie gewarnt, dass die zweite Form für Echo funktioniert, aber es schafft tatsächlich drei separate Argumente auf der Kommandozeile, die sind (nach der Escape-Sequenzen zu interpretieren):

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

Die erste Form ist, die Sie verwenden sollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top