Mitä eroa on “ < < -EOF ” ja “ < < EOF ” bash-komentosarjassa? [kaksoiskappale]

Tähän kysymykseen on jo annettu vastauksia :

Kommentit

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 < <:

  1. etusivun välilehdet irrotetaan sanasta ennen kuoren syötteen lukemista (mutta sen jälkeen, kun parametri ja komento korvataan sanalla);

  2. johtavat välilehdet poistetaan kuoren syötteestä, kun se luetaan ja ennen kuin kutakin riviä verrataan sanaan ja

  3. 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.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *