のことです。 Spezifikation der POSIX-Shell-Befehlssprache legt ausdrücklich fest, dass die Nummer des Dateideskriptors, falls vorhanden, "unmittelbar vor dem Umleitungsoperator" stehen muss; es gibt jedoch keine ähnliche Anforderung, dass der Umleitungsoperator unmittelbar vor dem Wort stehen muss. Die Regeln für die Erkennung von Token implizieren, dass alle Leerzeichen zwischen dem Umleitungsoperator und dem Wort verworfen werden, daher denke ich, dass jede korrekte Implementierung solche Leerzeichen akzeptieren sollte. (Zugegeben, das wäre beruhigender, wenn nicht dieselben Token-Erkennungsregeln dasselbe für Leerzeichen zwischen der Dateideskriptionsnummer und dem Umleitungsoperator implizieren würden).
Obwohl die Bash-Referenzhandbuch Die Beispiele für Heredocs enthalten kein Leerzeichen vor dem Wort, aber es gibt andere Beispiele mit Weiterleitungen, die tun enthalten ein Leerzeichen vor dem Wort, und weder in der POSIX-Spezifikation noch in der Bash-Referenzhandbuch gibt keinen Anlass zu der Annahme, dass sich das Wort von heredocs in dieser Hinsicht von dem Wort in jeder anderen Art von Weiterleitung unterscheidet, so dass es meiner Meinung nach nicht als schlechte Praxis angesehen werden sollte. Ich denke, Ihr Syntax-Highlighter sollte beides unterstützen, es sei denn, eines der Ziele des Projekts ist es, eine Art Standardstil für solche Dinge durchzusetzen.