Această întrebare are deja răspunsuri aici :
Comentarii
Răspuns
<<-EOF
va ignora filele principale din heredoc, în timp ce <<EOF
nu. Astfel:
cat <<EOF Line 1 Line 2 EOF
va produce
Line 1 Line 2
în timp ce
cat <<-EOF Line 1 Line 2 EOF
produce
Line 1 Line 2
Răspuns
Dacă utilizați <<-EOF
, vă recomand pagina de manual a Bourne Shell:
Dacă totuși cratima (-) este atașată la < <:
-
filele anterioare sunt eliminate din cuvânt înainte de citirea intrării shell-ului (dar după înlocuirea parametrilor și a comenzilor se face pe cuvânt);
-
filele anterioare sunt scoase din intrarea shell în timp ce este citită și înainte ca fiecare linie să fie comparată cu cuvântul; și
-
intrarea shell este citită până la prima linie care se potrivește literalmente cu cuvântul rezultat sau cu un EOF.
Deci, <<-
permite indentarea conținutului documentului de aici pentru o mai bună lizibilitate.