9.6 Here document

Un here document è una forma di quoting che permette alle variabili di shell di essere sostituite. È una forma speciale di redirezione che inizia con una linea contenente solamente <<PAROLA e finisce con una linea contenete solamente PAROLA. Nella shell Bourne si può impedire la sostituzione di shell effettuando un escape su PAROLA, mettendo un \ davanti a PAROLA sulla linea di redirezione, esempio <<\PAROLA, ma non sulla linea finale. Per avere lo stesso effetto con la shell C si mette il \ davanti a PAROLA in entrambi i posti.

Gli script che seguono illustrano questo meccanismo:

per la shell Bourne: e per la shell C:
#!/bin/sh                               #!/bin/csh -f
fa=fa                                   set fa = fa
non=""                                  set non = ""
cat << EOF                              cat << EOF
Questo here document                    Questo here document
$non $fa                                $non $fa
sostituzione di variabile               sostituzione di variabile
EOF                                     EOF
cat << \EOF                             cat << \EOF
Questo here document                    Questo here document
$non $fa                                $non $fa
sostituzione di variabile               sostituzione di variabile
EOF                                     \EOF

Entrambi gli output producono:

Questo here document
fa
sostituzione di variabile
Questo here document
$non $fa
sostituzione di variabile

Nella parte superiore dell'esempio le variabili di shell $non e $fa sono sostituite. Nella parte inferiore queste variabili vengono trattate come delle semplici stringhe di testo senza effettuare la sostituzione.

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.