Che cos’è un documento qui?

In relazione ai computer e alla programmazione di computer, un documento here è un elenco di testo utilizzato per definire l’input da passare a un programma tramite l’uso di un operatore speciale in modo da poter passare più facilmente blocchi di comandi o testo eccezionalmente lunghi. “Here document” o “heredoc” è un termine più generico perché l’esatta implementazione di come funziona un documento here e cosa può contenere varia da un sistema operativo, applicazione o linguaggio di programmazione all’altro. Nonostante ciò che suggerisce il nome, un documento qui di solito non è un file separato, ma è invece un blocco di testo in uno script o in qualche modo digitato o inserito direttamente alla fine di un comando di programma. L’uso principale per un documento here arriva quando i programmi vengono eseguiti tramite uno script o un file batch dalla riga di comando, dove heredoc fornisce un elenco di istruzioni per l’esecuzione di un programma o l’input per l’elaborazione del programma. A seconda di molti fattori, un documento qui può essere un semplice elenco di parole o può includere variabili complesse o codice di programmazione che il sistema operativo o l’applicazione di destinazione possono decifrare.

Nei termini più elementari, un documento qui è solo un elenco di testo che include caratteri di formattazione come tabulazioni, ritorni a capo e interruzioni di riga. È un modo conveniente per passare argomenti a un programma che viene eseguito dalla riga di comando, specialmente se viene utilizzato un file wrapper come uno script o un file batch. Il testo contenuto in un heredoc viene inviato al programma in esecuzione come se fosse digitato dall’utente esattamente come appare. Ciò consente di utilizzare più e più volte un singolo heredoc per fornire a un programma lo stesso input in modo che possa eseguire le stesse attività ripetutamente senza richiedere all’utente di reinserire tutto manualmente.

Un esempio di come funziona un documento here può essere visto con un semplice programma sendmail da riga di comando che invia e-mail. Quando viene eseguito, il programma sendmail chiede prima all’utente di inserire l’indirizzo email di destinazione; poi chiede l’oggetto dell’e-mail e, infine, il testo dell’e-mail. Se eseguito dalla riga di comando, l’utente risponderebbe a ciascun prompt digitando le informazioni, premendo il tasto Invio e aspettando che il programma risponda. Quando un heredoc viene utilizzato in un file wrapper, tutte le informazioni da fornire al programma sendmail possono essere digitate in anticipo, comprese le pressioni del tasto return, e salvate nel file wrapper. In questo modo, quando il programma sendmail viene eseguito con heredoc, l’input viene automaticamente inviato al programma e viene inviata un’e-mail senza che l’utente debba fare altro.