Bash Scripting: escriba la salida del comando Bash en el archivo de registro

Deje que haya algunas situaciones en las que debe guardar su salida en un archivo (generalmente llamado archivo de registro). La salida puede ser detalles del usuario (nombre de usuario, contraseña, Gmail, etc.), registro de productos (compra o venta de cualquier producto) o simplemente cualquier tipo de datos que pueda almacenar en un archivo de registro. 

Veamos cómo escribir la salida del comando bash en un archivo de registro.

Ejemplo 1 :

En este ejemplo, podemos almacenar los nombres de dos personas en un archivo de registro.

Primero, cree un archivo de registro llamado «Log.txt» con el siguiente comando 

$ touch Log.txt

Nota: ” Log.txt ” almacenará la salida.

Ahora, cree un archivo de script bash con el siguiente comando

$ touch Name.sh

Nota: ” Name.sh ” Es un archivo de script bash que tomará dos nombres del usuario y los almacenará en ” Log.txt “

Ahora, abra «Nombre.sh» en un editor de texto 

$ nano Name.sh

Ahora escriba el siguiente script bash en «Nombre.sh» 

#!/bin/bash
echo "Enter First Person Name : "

# It will take input from user i.e.
# First Person Name
read FName

# It store First Person Name in Log.txt
echo "First Person Name : $FName">Log.txt
echo
echo "Enter Second Person Name : "

# It will take input from user i.e. 
# Second Person Name
read SName

# It append Second Person Name in Log.txt
echo "Second Person Name : $SName">>Log.txt

Nota: Aquí, ‘ > ‘ creará un nuevo archivo con un nombre específico si el archivo no existe y se usará para sobrescribir los datos almacenados en el archivo (es decir, ” Log.txt “). Y ‘ >> ‘ creará un nuevo archivo con un nombre específico si el archivo no existe y agregará los datos de salida en el archivo (es decir, ” Log.txt ”)

Ahora guarde y ejecute «Name.sh» con el siguiente comando

$ chmod +x ./Name.sh
$ ./Name.sh

Producción : 

Salida de Comandos

Como se muestra en la imagen de arriba, tomamos dos entradas «Sahil» y «Rakesh». El nombre de salida se almacenará en » Log.txt «.

Tienda de salida en Log.txt

La imagen de arriba muestra el archivo «Log.txt» que la salida almacenará en el archivo de registro (es decir, «Log.txt»).

Ejemplo 2:

En este ejemplo, podemos almacenar los detalles del estudiante

Primero, cree un archivo de registro llamado «Student_log.txt» para almacenar la salida usando el siguiente comando

$ touch Student_log.txt

Ahora, cree un archivo de script bash con el siguiente comando

$ touch Student_details.sh

Ahora, abra «Student_details.sh» en el editor de texto

$ nano Student_details.sh

Ahora, escriba el siguiente script bash en «Student_details.sh» 

#!/bin/bash


# Save Date and Time of the bash script
# execution inside Student_log.txt
date>Student_log.txt

echo
echo "Student Details">>Student_log.txt 

echo "Name Of Student : "
read Name

# Store Name in Student_log.txt
echo "Student Name : $Name">>Student_log.txt
echo
echo "Roll No. Of Student : "
read RNo

# Store Roll No. in Student_log.txt
echo "Roll No. : $RNo">>Student_log.txt
echo
echo "Marks Obtained : "
read OMarks
echo "Total Marks : "
read TMarks

# calculate Percentage 
Percentage=$((OMarks*100/TMarks))

# Here it store Percentage in Student_log.txt
echo "Percentage : $Percentage">>Student_log.txt

Nota : Aquí el comando » fecha » mostrará la fecha y la hora de ejecución del comando » fecha «.

Ahora guarde y ejecute «Student_details.sh» con el siguiente comando

$ chmod +x ./Student_details.sh
$ ./Student_details.sh

Producción : 

Salida de comando

Como se muestra en la imagen de arriba, almacenamos la fecha de ejecución del programa y los detalles del estudiante, así como su porcentaje. La salida se almacenará en «Student_log.txt».

Almacén de salida en Student_log.txt

La imagen de arriba muestra «Student_log.txt»

Publicación traducida automáticamente

Artículo escrito por thesahilrai y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *