Ce este un document aici?

În ceea ce privește calculatoarele și programarea computerelor, un document aici este o listă de text folosită pentru a defini intrarea care urmează să fie transmisă unui program prin utilizarea unui operator special, astfel încât blocurile de comenzi sau text excepțional de lungi pot fi transmise mai ușor. „Aici document” sau „heredoc” este mai mult un termen general, deoarece implementarea exactă a modului în care funcționează un document aici și a ceea ce poate conține va varia de la un sistem de operare, aplicație sau limbaj de programare la altul. În ciuda a ceea ce sugerează numele, un document aici nu este de obicei un fișier separat, ci este un bloc de text într-un script sau cumva tastat sau inserat direct la sfârșitul unei comenzi de program. Utilizarea principală pentru un document aici vine atunci când programele sunt executate printr-un script sau un fișier batch din linia de comandă, unde heredoc oferă fie o listă de instrucțiuni pentru executarea unui program, fie introducerea programului pentru procesare. În funcție de mulți factori, un document aici poate fi o simplă listă de cuvinte sau poate include variabile complexe sau cod de programare pe care sistemul de operare sau aplicația țintă le poate descifra.

În termenii cei mai simpli, un document aici este doar o listă de text care include caractere de formatare, cum ar fi file, întoarceri de cărucior și întreruperi de linie. Este o modalitate convenabilă de a transmite argumente unui program care este executat din linia de comandă, mai ales dacă este utilizat un fișier wrapper, cum ar fi un script sau un fișier batch. Textul conținut într-un heredoc este trimis programului de execuție ca și cum ar fi fost introdus de utilizator exact așa cum apare. Acest lucru permite ca un singur heredoc să fie folosit din nou și din nou pentru a oferi unui program aceeași intrare, astfel încât să poată efectua aceleași sarcini în mod repetat, fără a solicita utilizatorului să reintroducă totul manual.

Un exemplu de modul în care funcționează un document aici poate fi văzut cu un simplu program sendmail de linie de comandă care trimite e-mail. Când este executat, programul sendmail cere mai întâi utilizatorului să introducă adresa de e-mail de destinație; apoi solicită subiectul e-mailului și, în final, textul e-mailului. Dacă este executat din linia de comandă, utilizatorul ar răspunde la fiecare prompt tastând informațiile, apăsând tasta Retur și așteptând ca programul să răspundă. Atunci când un heredoc este utilizat într-un fișier wrapper, toate informațiile care trebuie date programului sendmail pot fi introduse în avans, inclusiv apăsarea tastei return și salvate în fișierul wrapper. În acest fel, atunci când programul sendmail este executat cu heredoc, intrarea este alimentată automat în program și este trimis un e-mail fără ca utilizatorul să mai facă nimic.