Ich aktualisiere diesen Beitrag basierend auf Kommentaren und anderen Antworten, sodass Kommentare vor dem 22. Mai 2020 möglicherweise nicht mehr zutreffen.
Bash bietet keine integrierte Syntax für mehrzeilige Kommentare, aber es gibt Hacks, die die vorhandene Bash-Syntax verwenden und "zufällig jetzt funktionieren".
Persönlich denke ich, dass das Einfachste (dh am wenigsten laut, am wenigsten seltsam, am einfachsten zu tippen, am explizitesten) darin besteht, ein zitiertes HEREDOC zu verwenden, aber machen Sie deutlich, was Sie tun, und verwenden Sie überall denselben HEREDOC-Marker:
<<'### BLOCK COMMENT'
line 1
line 2
line 3
line 4
### BLOCK COMMENT
Durch einfaches Zitieren des HEREDOC-Markers werden einige Nebenwirkungen des Shell-Parsing vermieden, z. B. seltsame Unterteilungen, die zum Absturz oder zur Ausgabe führen würden, und sogar das Parsen des Markers selbst. Die einfachen Anführungszeichen geben Ihnen also mehr Freiheit beim Öffnen und Schließen von Kommentaren. Im Folgenden wird beispielsweise ein dreifacher Hash verwendet, der einen mehrzeiligen Kommentar in Bash vorschlägt. Dies würde das Skript zum Absturz bringen, wenn die einfachen Anführungszeichen fehlen würden. Selbst wenn Sie das Skript entfernen ###
, FOO{}
stürzt das Skript ab (oder es wird eine schlechte Substitution gedruckt, wenn nein set -e
), wenn die einfachen Anführungszeichen nicht vorhanden wären:
set -e
<<'### BLOCK COMMENT'
something something ${FOO{}} something
more comment
### BLOCK COMMENT
ls
Sie könnten natürlich einfach verwenden
set -e
<<'###'
something something ${FOO{}} something
more comment
###
ls
Aber die Absicht davon ist einem Leser, der mit diesem Trick nicht vertraut ist, definitiv weniger klar.
Heutzutage können Sie in jedem guten Editor Strg- / oder ähnliches drücken, um die Auswahl aufzuheben / zu kommentieren. Jeder versteht das definitiv:
# something something ${FOO{}} something
# more comment
# yet another line of comment
Obwohl dies zugegebenermaßen nicht annähernd so praktisch ist wie der obige Blockkommentar, wenn Sie Ihre Absätze neu füllen möchten.
Es gibt sicherlich andere Techniken, aber es scheint keinen "konventionellen" Weg zu geben, dies zu tun. Es wäre schön, wenn ###>
und ###<
könnte zu Bash hinzugefügt werden, um den Beginn und das Ende des Kommentarblocks anzuzeigen, scheint ziemlich einfach zu sein.