Aquí documento


En computación , un documento here ( here-document , here-text , heredoc , hereis , here-string o here-script ) es un literal de archivo o literal de flujo de entrada : es una sección de un archivo de código fuente que se trata como si era un archivo separado . El término también se usa para una forma de literales de cadena de varias líneas que usan una sintaxis similar, conservando los saltos de línea y otros espacios en blanco (incluida la sangría) en el texto.

Aquí los documentos se originan en el shell Unix , [1] y se encuentran en el shell Bourne ( sh), shell C ( csh), [2] tcsh ( tcsh), [3] KornShell ( ksh), Bash y shell Z ( zsh), entre otros. . Aquí, los literales de cadena de estilo de documento se encuentran en varios lenguajes de alto nivel , en particular, el lenguaje de programación Perl (sintaxis inspirada en el shell de Unix) y lenguajes influenciados por Perl, como PHP y Ruby . JavaScript también es compatible con esta funcionalidad a través deliterales de plantilla , una característica añadida en su sexta revisión ( ES6 ). Otros lenguajes de alto nivel como Python , Julia y Tcl tienen otras facilidades para cadenas multilínea.

Aquí los documentos se pueden tratar como archivos o como cadenas. Algunos shells los tratan como un literal de cadena de formato , lo que permite la sustitución de variables y la sustitución de comandos dentro del literal.

Otros idiomas a menudo usan una sintaxis sustancialmente similar, pero los detalles de la sintaxis y la funcionalidad real pueden variar significativamente. Cuando se usa simplemente para literales de cadena, <<no indica direccionamiento indirecto, sino que es simplemente una convención de delimitación inicial. En algunos lenguajes, como Ruby, <<también se usa para la redirección de entrada, lo que resulta en <<que se use dos veces si se desea redirigir desde un literal de cadena de documento aquí.

En términos estrictos, aquí los documentos son literales de archivo o literales de flujo. Estos se originan en el shell de Unix, aunque existen funciones similares disponibles en algunos otros idiomas.

Aquí los documentos están disponibles en muchos shells de Unix. [1] En el siguiente ejemplo, el texto se pasa al trcomando (transliterando de minúsculas a mayúsculas) usando un documento aquí. Esto podría estar en un archivo de shell o ingresarse de forma interactiva en un aviso.