Bei der Eingabe einer Google Maps Directions-URL in die Befehlszeile (zum Öffnen mit dem Chromium-Browser über das Terminal) befindet sich ein kaufmännisches Und ( &
) in der URL. Das Terminal unterbricht die Eingabe jedoch, da Unix-Inhalte Unix-Inhalte sind. Kann ich etwas in das Terminal eingeben, das, wenn der Befehl tatsächlich ausgeführt wird, wie ein kaufmännisches Und behandelt wird?
Will; amp; Arbeit?
command-line
bash
Leron
quelle
quelle
Zitate werden das beheben, aber Sie können die Dinge auch mit einem Back-Slash umgehen:
Nicht zu sagen, dass dies auf jeden Fall besser ist, ist nur eine weitere Option für Situationen wie diese.
quelle
In diesem Fall spielt es eigentlich keine Rolle, aber es gibt einen Unterschied zwischen einfachen und doppelten Anführungszeichen.
Doppelte Anführungszeichen ersetzen Sonderzeichen wie '$' und Anführungszeichen, während einfache Anführungszeichen bis auf das schließende einfache Anführungszeichen alles buchstäblich behandeln.
Beide gruppieren den Text, wodurch Chrom ihn als einzelnes Argument behandelt, und Zeichen wie "; # &" haben in diesem Kontext keine besondere Bedeutung.
Dies zeigt die Verwendung von '\', um ein doppeltes Anführungszeichen in doppelten Anführungszeichen und einen Backslash selbst zu umgehen:
Mit einfachen Anführungszeichen ändert sich nichts:
Ohne die Anführungszeichen teilt das '&' es in zwei Befehle:
Wenn Sie mit einer Art von Zitat arbeiten, können Sie es normalerweise in die andere Art einwickeln, aber dies kann zu Problemen führen:
Die einfachen Anführungszeichen werden nicht ersetzt, das '$' jedoch. Die folgende Syntax funktioniert jedoch:
quelle