Heredocs mają również opcję wcięcia z zakładką. Pozwala to na wstępne przypisanie każdej linii kodu dowolną liczbą zakładek - a te zostaną "zjedzone" na wyjściu, pozostawiając usprawiedliwienie wyjścia. Zwróć uwagę, że końcowe "EOF" (w tym przykładzie) MUSI być całkowicie wcięte w lewo - "EOF" nie może być wcięty w tabulator.
Uważaj na edytory, które konwertują znaki tabulacji na spacje (np. Opcja "vi" to "expandtab", która konwertuje tabulatory na spacje). Niestety, wiele spacji nie jest "zjedzonych" jak karty. Jeśli użyjesz "expandtab" (lub podobnych opcji) do formatowania kodu, wówczas metoda wcięcia tabulatora heredoc prawdopodobnie nie będzie dla ciebie przydatna.
W poniższym przykładzie "< < -" jest składnią heredoc dla uhonorowania wcięć tabulatorów.
Przykład:
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
Należy pamiętać, że istnieją „wypustki” z przodu „kota”, a kolejne linie - HTML formatowanie jest tu prawdopodobnie nie będzie pozwalają na cut-n-wklej przykład .
Zauważ, że zakończenie "EOF" jest wyrównane do lewej.
Tak, już to wiedziałem. Po prostu nie podoba mi się formatowanie w pliku źródłowym, ale może po prostu wykonam funkcję "użytkowania" i wezwę to w moim przypadku przełącznika i przejdę od tego miejsca. Naprawdę nie lubię formatowania czasami w bashu. – flamusdiu