Tähän kysymykseen on jo annettu vastauksia :
Kommentit
- Katso 3.6.6 Tässä asiakirjat bash-käsikirjassa
vastaus
<<-EOF
ohittaa heredokisi johtavat välilehdet, kun taas <<EOF
ei. Näin ollen:
cat <<EOF Line 1 Line 2 EOF
tuottaa
Line 1 Line 2
kun taas
cat <<-EOF Line 1 Line 2 EOF
tuottaa
Line 1 Line 2
vastaus
Jos käytät <<-EOF
, suosittelen Bourne Shellin man -sivua:
Jos kuitenkin väliviiva (-) liitetään < <:
-
etusivun välilehdet irrotetaan sanasta ennen kuoren syötteen lukemista (mutta sen jälkeen, kun parametri ja komento korvataan sanalla);
-
johtavat välilehdet poistetaan kuoren syötteestä, kun se luetaan ja ennen kuin kutakin riviä verrataan sanaan ja
-
kuoren syöttö luetaan ensimmäiseen riviin, joka vastaa kirjaimellisesti tuloksena olevaa sanaa, tai EOF: ään.
Joten <<-
sallii tämän asiakirjan sisällön sisennyksen paremman luettavuuden takaamiseksi.