Heredocs haben auch eine Registerkarte eingerückt Option. Auf diese Weise können Sie jeder Codezeile eine beliebige Anzahl von Tabulatoren voranstellen - und diese werden bei der Ausgabe "aufgefressen", so dass Ihre Ausgabe gerechtfertigt ist. Beachten Sie, dass der abschließende 'EOF' (in diesem Beispiel) vollständig eingerückt sein muss - der 'EOF' darf nicht eingerückt sein.
Seien Sie vorsichtig bei allen Editoren, die Tabulatorzeichen in Leerzeichen konvertieren (zB "vi" -Option ist "expandtab", die Tabulatoren in Leerzeichen konvertiert). Leider werden mehrere Leerzeichen nicht wie Tabs "aufgefressen". Wenn Sie für die Codeformatierung "expandtab" (oder ähnliche Optionen) verwenden, ist die Heredoc-Tab-Einzugsmethode für Sie wahrscheinlich nicht nützlich.
Im folgenden Beispiel ist die "< < -" die Syntax für ein Heredoc, um die Registerkarteneinzüge zu berücksichtigen.
Beispiel:
cat <<-EOF
usage.sh [options]
-h| --help this is some help text.
this is more help text.
-1|--first-option this is my first option
-2|--second-option this is my second option
EOF
Beachten Sie, dass es „Tabs“ vor der „Katze“ sind, und die nachfolgenden Zeilen - HTML hier formatiert wird wahrscheinlich nicht, dass Sie gehen zu ermöglichen, das Beispiel Cut-n-Paste .
Beachten Sie, wie der abschließende "EOF" linksbündig ist.
Ja, das wusste ich schon. Ich mag die Formatierung in der Quelldatei einfach nicht, aber vielleicht mache ich einfach eine "Verwendungs" -Funktion und rufe sie in meinem Switch-Case auf und gehe von dort aus. Ich mag es wirklich nicht, manchmal in bash zu formatieren. – flamusdiu