¿Qué es un documento Here?

En relación con las computadoras y la programación de computadoras, un documento aquí es una lista de texto que se utiliza para definir la entrada que se pasará a un programa mediante el uso de un operador especial para que se puedan pasar más fácilmente bloques de comandos o texto excepcionalmente largos. «Aquí documento», o «heredoc», es más un término general porque la implementación exacta de cómo funciona un documento aquí y lo que puede contener variará de un sistema operativo, aplicación o lenguaje de programación a otro. A pesar de lo que implica el nombre, un documento aquí no suele ser un archivo separado, sino que es un bloque de texto en un script o de alguna manera escrito o insertado directamente al final de un comando de programa. El uso principal de un documento here viene cuando los programas se ejecutan a través de un script o archivo por lotes desde la línea de comandos, donde heredoc proporciona una lista de instrucciones para que un programa se ejecute o una entrada para que el programa las procese. Dependiendo de muchos factores, un documento aquí puede ser una simple lista de palabras o puede incluir variables complejas o código de programación que el sistema operativo o la aplicación de destino pueden descifrar.

En los términos más básicos, un documento aquí es solo una lista de texto que incluye caracteres de formato como tabulaciones, retornos de carro y saltos de línea. Es una forma conveniente de pasar argumentos a un programa que se está ejecutando desde la línea de comandos, especialmente si se utiliza un archivo contenedor, como un script o un archivo por lotes. El texto contenido en un heredoc se envía al programa en ejecución como si el usuario lo estuviera escribiendo exactamente como aparece. Esto permite que un solo heredoc se use una y otra vez para darle a un programa la misma entrada para que pueda realizar las mismas tareas repetidamente sin requerir que el usuario vuelva a ingresar todo manualmente.

Un ejemplo de cómo funciona un documento aquí se puede ver con un programa simple de línea de comando sendmail que envía correo electrónico. Cuando se ejecuta, el programa sendmail primero le pide al usuario que ingrese la dirección de correo electrónico de destino; luego solicita el asunto del correo electrónico y, finalmente, el texto del correo electrónico. Si se ejecuta desde la línea de comando, el usuario respondería a cada mensaje escribiendo la información, presionando la tecla de retorno y esperando que el programa responda. Cuando se utiliza un heredoc en un archivo de envoltura, toda la información que se le dará al programa sendmail se puede escribir con anticipación, incluidas las pulsaciones de la tecla de retorno, y guardar en el archivo de envoltura. De esta manera, cuando el programa sendmail se ejecuta con el heredoc, la entrada se envía automáticamente al programa y se envía un correo electrónico sin que el usuario tenga que hacer nada más.