Cómo usar el documento aquí en la programación BASH

Cómo usar el documento aquí en la programación BASH
Aquí se llama a un bloque de código o texto que puede redirigirse al script de comando o al programa interactivo. Diferentes tipos de lenguajes de secuencias de comandos como Bash, SH, CSH, KSH, etc., puede tomar la entrada de texto directamente usando aquí-documento sin usar ningún archivo de texto. Entonces, cuando el codificador necesita menos cantidad de datos de texto, el uso del código y los datos en el mismo archivo es la mejor opción, y se puede hacer fácilmente utilizando el documento aquí en el script. Sin lenguaje de secuencias de comandos, aquí el documento también se puede usar en varios idiomas de alto nivel como PHP, Perl, etc. Cómo puede usar aquí-Document en el script bash se muestra en este tutorial.

Para usar aquí-Document en cualquier script bash, debe usar el símbolo << followed by any delimiting identifier after any bash command and close the HereDoc by using the same delimiting identifier at the end of the text. The syntax of writing HereDoc is shown below.

Dominio << HeredocDelimiter


Heredocdelimitán

Ejemplo-1: Uso de texto simple Heredoc

Cuando el Heredoc se usa en cualquier guión, es necesario mantener el mismo nombre para el delimitador inicial y final. Supongamos que el comando es 'gato'Y el delimitador de Heredoc es AÑADIR TEXTO. Crear un archivo de script bash llamado HEREDOC1.intento con el siguiente código para verificar el uso simple de Heredoc.

#!/bin/bash
gato <Este texto es
Agregado por aquí documento
AÑADIR TEXTO

Ejecute el siguiente comando para ejecutar el script.

$ Bash HEREDOC1.intento

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo-2: Uso de Heredoc con el símbolo '-'

HEREDOC usa el '-' Símbolo para suprimir cualquier espacio de pestaña de cada línea de texto HEREDOC. En el siguiente ejemplo, pestaña Se agrega espacio al comienzo de cada línea y el '-' Se usa el símbolo antes del delimitador inicial. Cuando el script se ejecuta, todos los espacios de pestaña se omiten desde el inicio de cada línea, pero no crea ningún efecto en el espacio normal. Crear un archivo bash llamado HEREDOC2.intento con el siguiente script para probar la función de '-'.

#!/bin/bash
gato <<-ADDTEXT2
Línea-1: aquí el documento es útil para imprimir texto corto
Línea-2: aquí el documento se puede usar para formatear texto
Línea-3: aquí el documento puede imprimir variables dentro del texto
Línea 4: aquí documento con '-' Elimina el espacio de la pestaña de la línea
AddText2

Ejecute el siguiente comando para ejecutar el script.

$ Bash HEREDOC2.mierda

Producción:

La siguiente salida aparecerá después de ejecutar el script. El pestaña Se ha eliminado el espacio del contenido de Heredoc.

Ejemplo-3: Uso de la variable dentro del texto HEREDOC

Cree un nuevo script bash con el siguiente código. Aquí, dos variables nombradas Comience y termine son declarados. Estas variables se usan dentro del texto Heredoc. Si usa una marca de cotización en el delimitador inicial de HEREDOC, entonces el valor de la variable no se imprimirá en la consola.

#!/bin/bash
inicio = "Hola a todos"
end = "buena suerte"
gato <$ Start
Bienvenido al sitio de blog de Linux.
$ final
AddText3

Ejecute el siguiente comando para ejecutar el script.

$ Bash HEREDOC3.mierda

Producción:

La siguiente salida aparecerá después de ejecutar el script. La salida muestra el contenido HEREDOC con el valor de las variables.

Ejemplo-4: crea un nuevo archivo bash usando Herdoc

En los ejemplos anteriores, se muestran cómo puede usar HEREDOC en cualquier script bash. También puede crear un nuevo archivo bash usando HEREDOC, que se muestra en la siguiente parte de este tutorial. Crear un nuevo archivo bash llamado HEREDOC4.mierda Con el siguiente código. Aquí, el nuevo archivo Se declara que la variable establece el nombre del archivo del nuevo script bash, que se creará después de la ejecución de HEREDOC4.mierda archivo. Después de la ejecución, se nombró un nuevo archivo bash producción.mierda se creará.

#!/bin/bash
Newfile = salida.mierda
(
gato < $NewFile

Ejecute los siguientes comandos para probar el script anterior. El primer comando ejecutará el archivo de script principal. El segundo comando mostrará el contenido del archivo recién creado. El tercer comando ejecutará el archivo bash recién creado.

$ Bash HEREDOC4.mierda
$ CAT SALIDA.mierda
Salida de $ Bash.mierda

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo-5: Uso de la función con HEREDOC

Puede pasar los valores de entrada a las variables de cualquier función del script bash del contenido de HEREDOC. Crear otro nuevo archivo bash llamado HEREDOC5.mierda Para probar cómo la función se puede usar con Heredoc. Agregue el siguiente código al archivo. Una función nombrada Bookinfo se declara en el script, que tomará datos del texto de Heredoc. Seis variables se declaran en la función llamada ISBN, nombre de bookName, AraTorname, Edición, Publicación y Price. Para establecer el valor de las variables correctamente, debe mantener el orden de los valores en la sección HEREDOC de acuerdo con las variables declaradas en la función. Después de establecer los datos en las variables de función, el valor del precio se calcula con un descuento del 10% e imprime los valores de todas las variables en la consola.

#!/bin/bash
#Declare la función que recuperará datos del documento de aquí
BookInfo ()

Leer ISBN
Leer BookName
Leer Ama
Leer Edición
Leer publicación
precio de lectura

# Declarar aquí la parte del documento para enviar datos a la función
Bookinfo <ISBN-78633567809
Easy Laravel 5
W. Jason Gilmore
Novena edición
Learpub
100
AddText5
# Imprima el valor de las variables de función después de calcular el valor del precio con 10% de descuento
((precio = $ precio- $ precio*10/100))
Echo "$ BookName"
Echo "$ fortorname"
echo "$ edición, $ publicación"
echo "$" $ precio

Ejecute el siguiente comando para ejecutar el script.

$ HEREDOC5.intento

Producción:

Aquí, el valor de la variable de precio se ha establecido en 100. Después de establecer un descuento del 10% en el valor del precio, el valor se ha establecido en 90. Después de la ejecución, la siguiente salida aparecerá en el terminal.

Ejemplo-6: ejecute comandos dentro del Heredoc

Crear un archivo bash llamado HEREDOC6.intento con el siguiente script para ejecutar 'Fecha', 'PWD', y 'quién soy'Comando con'sudo' dominio.

#!/bin/bash
# Agregue tres comandos dentro del contenido HEREDOC con el comando 'sudo'
sudo -s <fecha
pwd
quién soy
DOMINIO

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida de los tres comandos se ha imprimido en la salida.

Ejemplo-7: Uso de HEREDOC para escribir múltiples líneas en un archivo

Crear un archivo bash llamado HEREDOC6.intento con el siguiente script para agregar varias líneas en el archivo de texto nombrado temperatura.TXT e imprima el contenido del archivo. Se agregarán tres líneas al archivo de texto después de ejecutar el código.

#!/bin/bash
: 'Este script escribirá varias líneas
en un archivo de texto
'
# Escribir múltiples líneas en un archivo usando HEREDOC
Cat> 'temperatura.TXT' <Bash es un lenguaje popular de secuencias de comandos.
Muchas tareas administrativas se pueden hacer fácilmente
mediante el uso de script bash.
Filoconte
# Imprima el contenido del archivo
Temperatura de gato.TXT

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que se agregan tres líneas en el temperatura.TXT archivo.

Ejemplo-8: Uso de Heredoc con Pipe para buscar y reemplazar el contenido

La entrada de Heredoc también se puede canalizar. Cree un archivo bash con el siguiente script para buscar y reemplazar un personaje en particular desde el contenido HEREDOC. El primer Heredoc imprimirá el texto original, y el segundo Heredoc imprimirá el texto reemplazado. El comando 'sed' se ha utilizado aquí para reemplazar todas las instancias del personaje 'a' por 'A'.

#!/bin/bash
Echo "El contenido original es:"
gato <<'ORIGINAL'
Bash es un lenguaje de scripting de shell
HTML es un lenguaje de marcado
JavaScript es un lenguaje de secuencias de comandos del lado del cliente
ORIGINAL
# Agregue una nueva línea
eco
Echo "el contenido después de reemplazar 'a' por 'a':"
gato <<'REPLACE' | sed 's/a/A/g'
Bash es un lenguaje de scripting de shell
HTML es un lenguaje de marcado
JavaScript es un lenguaje de secuencias de comandos del lado del cliente
REEMPLAZAR

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. En la salida, todos 'a' han sido reemplazados por 'a'.

Ejemplo-9: Uso de Heredoc para comentar el bloque de líneas

Uno de los usos importantes de HEREDOC es comentar sobre múltiples líneas del guión bash. Crear un archivo bash con el siguiente script para encontrar un año es un año bisiesto o no. El propósito del guión ha sido descrito por comentarios de varias líneas usando HEREDOC.

#!/bin/bash
<Este script se usa para averiguar
un año es un año bisiesto o no un
año bisiesto
multiline_comment
# Tome el valor de un año de 4 dígitos del usuario
echo -n "Ingrese el valor del año de cuatro dígitos:"
Leer YR
# Verifique el valor del año tomado es un salto o no un año bisiesto
if [$ (($ YR%400)) -EQ 0]; entonces
Echo "$ YR es un año bisiesto."
Elif [$ (($ año%100)) -eq 0]; entonces
Echo "$ YR no es un año bisiesto."
Elif [$ (($ YR%4)) -EQ 0]; entonces
Echo "$ YR es un año bisiesto."
demás
Echo "$ YR no es un año bisiesto."
FI

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El siguiente resultado muestra que 2008 es un año bisiesto y 2021 no es un año bisiesto.

Conclusión:

Los diversos usos del documento HEREDOC se han mostrado en este tutorial utilizando múltiples ejemplos. Se puede usar con diferentes tipos de comandos de shell y agregar comentarios de múltiples líneas en el script bash. Los usos del HEREDOC serán autorizados para los usuarios de Bash después de practicar los ejemplos de este tutorial.