Dette spørgsmål har allerede svar her :
Kommentarer
- Se 3.6.6 Her Dokumenter i bash-manualen
Svar
<<-EOF
ignorerer ledende faner i din heredoc, mens <<EOF
ikke gør det. Således:
cat <<EOF Line 1 Line 2 EOF
vil producere
Line 1 Line 2
mens
cat <<-EOF Line 1 Line 2 EOF
producerer
Line 1 Line 2
Svar
Hvis du bruger <<-EOF
, anbefaler jeg mandsiden til Bourne Shell:
Hvis bindestreg (() dog tilføjes til < <:
-
ledende faner fjernes fra ord, før shell-input læses (men efter parameter- og kommandosubstitution udføres på ord);
-
de forreste faner fjernes fra shell-input, når det læses, og før hver linje sammenlignes med ord og
-
shell-input læses op til den første linje, der bogstaveligt talt matcher det resulterende ord eller til en EOF.
Så <<-
tillader indrykning af indholdet af her dokument for bedre læsbarhed.