Co je zde dokument?
Ve vztahu k počítačům a počítačovému programování je zde dokument seznam textů používaných k definování vstupu, který má být předán programu pomocí speciálního operátora, takže výjimečně dlouhé bloky příkazů nebo textu mohou být snadněji předávány. „Dokument zde“ nebo „heredoc“ je obecnějším pojmem, protože přesná implementace toho, jak dokument zde funguje a co může obsahovat, se bude lišit od jednoho operačního systému, aplikace nebo programovacího jazyka k druhému. Navzdory tomu, co název napovídá, není zde dokument obvykle samostatný soubor, ale je to blok textu ve skriptu nebo nějakým způsobem napsaný nebo vložený přímo na konec programového příkazu. Hlavní použití dokumentu zde přichází, když jsou programy spouštěny skriptem nebo dávkovým souborem z příkazového řádku, kde heredoc poskytuje buď seznam instrukcí pro program, který má být proveden, nebo vstup pro program, který má být zpracován. V závislosti na mnoha faktorech může být zde dokument jednoduchým seznamem slov nebo může zahrnovat složité proměnné nebo programový kód, který může operační systém nebo cílová aplikace dešifrovat.
V nejzákladnějších pojmech je zde dokument pouze seznam textu, který obsahuje formátovací znaky, jako jsou karty, návraty do konce řádku a konce řádků. Je to pohodlný způsob, jak předat argumenty programu, který je spouštěn z příkazového řádku, zejména pokud je použit obalový soubor, jako je skript nebo dávkový soubor. Text obsažený v heredocu se odešle do prováděcího programu, jako by jej uživatel zadal přesně tak, jak se zdá. To umožňuje, aby byl jeden heredoc znovu a znovu použit pro program stejného vstupu, takže může provádět stejné úkoly opakovaně, aniž by vyžadoval, aby uživatel skutečně znovu zadal vše ručně.
Jeden příklad toho, jak zde dokument funguje, lze vidět pomocí jednoduchého programu sendmail příkazového řádku, který odesílá e-maily. Po spuštění program sendmail nejprve požádá uživatele o zadání cílové e-mailové adresy; potom požádá o předmět e-mailu a nakonec o text e-mailu. Pokud je spuštěn z příkazového řádku, uživatel by odpověděl na každou výzvu zadáním informací, stiskem klávesy Enter a čekáním na odpověď programu. Je-li heredoc použit v souboru wrapper, je možné předem zadat veškeré informace, které mají být poskytnuty programu sendmail, včetně stisknutí klávesy Return a uložit do souboru wrapper. Tímto způsobem, když je program sendmail spuštěn s heredocem, vstup je automaticky odeslán do programu a je odeslán e-mail, aniž by uživatel musel dělat nic dalšího.