Hvad er et her-dokument?
I relation til computere og computerprogrammering er et her dokument en liste over tekst, der bruges til at definere input, der skal sendes til et program ved hjælp af en speciel operatør, så usædvanligt lange blokke af kommandoer eller tekst lettere kan sendes. "Her dokument" eller "heredoc" er mere et generelt udtryk, fordi den nøjagtige implementering af, hvordan et her dokument fungerer, og hvad det kan indeholde, vil variere fra det ene operativsystem, applikation eller programmeringssprog til det næste. På trods af, hvad navnet antyder, er et her-dokument normalt ikke en separat fil, men i stedet er en tekstblok i et script eller på en eller anden måde skrevet eller indsat direkte i slutningen af en programkommando. Den vigtigste anvendelse til et her-dokument kommer, når programmer udføres via et script eller en batch-fil fra kommandolinjen, hvor heredocen enten indeholder en liste over instruktioner for et program, der skal udføres eller input til programmet, der skal behandles. Afhængigt af mange faktorer kan et her-dokument være en simpel liste over ord, eller det kan omfatte komplekse variabler eller programmeringskode, som operativsystemet eller målapplikationen kan dechiffrere.
I de mest basale termer er et her-dokument kun en liste med tekst, der inkluderer formatering af tegn som faner, vognretur og linjeskift. Det er en bekvem måde at videregive argumenter til et program, der udføres fra kommandolinjen, især hvis der bruges en indpakningsfil, såsom et script eller en batchfil. Teksten indeholdt i en heredoc sendes til eksekveringsprogrammet, som om det blev indtastet af brugeren nøjagtigt, som det ser ud. Dette gør det muligt at bruge en enkelt heredoc igen og igen til at give et program det samme input, så det kan udføre de samme opgaver gentagne gange uden at kræve, at brugeren reelt skal indtaste alt manuelt.
Et eksempel på, hvordan et her-dokument fungerer, kan ses med et simpelt kommandolinje-sendmail-program, der sender e-mail. Når det udføres, beder Sendmail-programmet først brugeren om at indtaste destinations-e-mail-adressen; den beder derefter om emnet for e-mailen og endelig teksten til e-mailen. Hvis den udføres fra kommandolinjen, vil brugeren svare på hver enkelt promp ved at indtaste informationen, trykke på returtasten og vente på, at programmet skal svare. Når en heredoc bruges i en indpakningsfil, kan alle de oplysninger, der skal gives til sendmail-programmet, skrives ud på forhånd, inklusive returtastetryk, og gemmes i indpakningsfilen. Når sendmail-programmet udføres med heredoc, føres input automatisk til programmet, og der sendes en e-mail uden at kræve, at brugeren gør noget mere.