Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
Reto 5
Contenido del curso
Reto 5
Reto 5:
Modificar el archivo utilityHost.sh para escribir la información solicitada a un archivo de log cuyo nombre será log<yyyyMMDDHHmmSS> donde yyyy representa el año, MM el mes, DD el día, HH la hora, mm los minutos y SS los segundos
Luis Xavier Perez Miramontes
Estudiante# !/bin/bash # Reto 5. Generar un archivo log, escribir dentro de este archivo el usuario, y la fecha de log en formato yyyy_MM_DD_HH_mm_ss # Autor: Luis Xavier echo "Generating log file..." touch log.txt echo "Registering login..." user=$USER date=$(date +%Y_%m_%d__%H:%M:%S) echo "$user/$date" >> log.txt sleep 1 echo -e "Login Registered\n" cat log.txt
Antonio Rafael González Ferrer
EstudianteNo comprendo el reto :/
Marconi Poveda
Company_adminUtilityHost.sh lo creamos en las primeras clases Simplemente imprime el valor de unas variables.
#!/bin/bash #Reto 1 option=2 result=4 echo "El valor de option es: $option" echo "El valor de result es: $result"
El objetivo del reto es agarrar esas variables y agregar su valor dentro de un archivo que vas a crear en el script. El nombre de este archivo será: logAÑOMESDIAhoraminutossegundos.txt
Ejemplo:
log20200812211806.txt
Suerte.
Enzo Venturi
EstudianteHola, yo lo hice de la siguiente manera:
#!/bin/bash echo "Hey!" read -p "Do you want to register? (0/1): " Pick if [ $Pick == 0 ]; then read -p "Enter your Name: " Name echo "... "; sleep 3 Date=`date +%Y%m%d%H%M%S` echo "Done."; sleep 1 echo "Registered!" echo "Name: $Name | Date: $Date" >> tmp.log else echo "See you!" fi
El programa te preguntará si deseas registrarte, cosa que si la respuesta resulta ser negativa; te mostrará un mensaje de despedida. De lo contrario, si esta es positiva, dara inicio a:
Registered!$Name y $Date a tmp.logCriterio de uso: El uso de >> en vez de > evita que de existir información dentro de tmp.log, esta sea sustituida por otra.
Marconi Poveda
Company_adminCódigo:
╭─ ~/BashShell master ?8 ···················································· ✔ 21:27:26 ╰─ more reto5.sh #!/bin/bash #Reto 1 option=2 result=4 echo "El valor de option es: $option" >> log-option-$(date +%Y%m%d%H%M%S).txt echo "El valor de result es: $result" >> log-result-$(date +%Y%m%d%H%M%S).txt
Resultado:
-rw-r--r-- 1 mapo mapo 25 Aug 12 21:27 log-option-20200812212723.txt -rw-r--r-- 1 mapo mapo 25 Aug 12 21:27 log-result-20200812212723.txt
KEVIN FIGUEROA
EstudianteFredy Mendoza Vargas
EstudianteExcelente!
Gregorio Andres Martinez Ruiz
EstudianteJose Suarez
EstudianteLo que entendí. Crear un archivo llamado Log+Fecha.log y en ese archivo escribir la información del usuario que accedió al script y la fecha en que lo hizo.
#!/bin/bash # Reto 5 # Autor Jose Suarez. fecha=`date +%Y%m%d%H%M%S` usuario=$(logname) archivo=log-`date +%Y%m%d%H%M%S`.log #Crear el archivo touch $archivo echo -e "\n" #Agregar información del usuario echo "Acceso del usuario: $usuario " >> $archivo echo -e "\n" #Agrego la fecha echo "En la Fecha: $fecha " >> $archivo #Muestro el archivo por 3 segundos cat $archivo sleep 3
John Florez
EstudianteDone !
Code:
Result:
Berly Danilo Quispe Yana
EstudianteEste es el codigo que mas me gusto.!
Pedro Aburto Gutierrez
Estudiantefecha=`date +%Y%m%d_%H%M%S` echo "Escribiendo a archivo Log.txt" read -p "Escriba la Informacion en el Archivo log: " datos touch log_$fecha.txt echo $datos >> log_$fecha.txt echo "Escribiendo archivo..." sleep 3 echo "Archivo Log Creado!" cat log_$fecha.txt
Paul Manrique
EstudianteMarvin Javier Santos Fernández
EstudianteJaime Escobar
Estudiante#!/bin/bash fileLog="" timeZone=$(date +"%Y-%m-%d %H:%M:%S") echo "$timeZone" if [[ -z "$1" ]]; then arg1="Argumento Vacío" else arg1="$1" fi fileLog="Log_${timeZone}.log" echo "file : $fileLog" echo "texto : $arg1" if [[ -n "$fileLog" ]]; then cat <<EOM >>"$fileLog" $arg1 EOM fi
Isaac Bryan Ascanoa Roncall
EstudianteJavier Dario Chungana Erira
EstudianteMi aporte del reto 5:
# ! /bin/bash #desarrollo de reto 5 curso # Autor: Javier option="Nombre" result="Javier" dates=$(date +"%Y%m%d%H%M%S") nameLog="Log-$dates.log" #impresion y escritura log echo -e "El valor de Option es:$option \nEl valor de Result es:$result" >> $nameLog #escritura solo variables en log cat <<EOM >>$nameLog $option $result EOM #listar archivo .log echo -e "archivo .log generado:\n" ls -lh $nameLog #visualizacion archivo log echo -e "\nVisual contenido del .log generado:\n" cat $nameLog
Jose Jair Medrano Olmos
Estudiante# ! /bin/bash #Merdano Olmos Jose Jair #Reto 5 del curso de programacion en bash #crear un archivo log con el formato YYYY-MM-DD_HH:MM:SS adentro del archivo la informacion del kernel y usuario #Declarar variables fecha=$(date +%Y-%m-%d_%H-%M-%S) usuario=$(whoami) kernel=$(uname -r) #Crear el archivo log echo "Creando el archivo de $usuario con la fecha $fecha" echo "Informacion del kernel: $kernel" >> $fecha.log echo "Informacion del usuario: $usuario" >> $fecha.log cat $fecha.log ```# ! /bin/bash#Merdano Olmos Jose Jair#Reto 5 del curso de programacion en bash#crear un archivo log con el formato YYYY-MM-DD\_HH:MM:SS adentro del archivo la informacion del kernel y usuario#Declarar variablesfecha=$(date +%Y-%m-%d\_%H-%M-%S)usuario=$(whoami)kernel=$(uname -r) \#Crear el archivo log echo "Creando el archivo de $usuario con la fecha $fecha"echo "Informacion del kernel: $kernel" >> $fecha.logecho "Informacion del usuario: $usuario" >> $fecha.log cat $fecha.log
Juan Camilo Grisales Arias
EstudianteComo lo entendí:
# !/bin/sh # Description: This script will ask for the user's name and age, and then create a log file with the current date and time. Platzi Challenge 5. # Author: JC - @jc # Date: 2025-03-26 echo "What is your name?" read name echo "What is your age?" read age echo -e "\nCreating log file..." # Create a log file with the current date filename=$(date +%Y-%m-%d_%H-%M-%S.log) echo "$(date) - User $name, aged $age years old, logged in." >> $filename echo "Log file: $filename" echo -e "\nLog file created successfully! Please check the log file for details."
Juan Jose Obando Patiño
EstudianteUtilityHost.sh:
# !/bin/bash # reto 1 # Autor: JuanObandoDev name="" age="" echo "what's your name?" read name echo "What's your age?" read age echo "Hello $name, enjoy your $age years old" export name export age ./5_challenge.sh
Reto 5:
# !/bin/bash # Modificar el archivo utilityHost.sh para escribir la informcaion solicitada a un archivo de log cuyo nombre será: logyyyyMMDDHHmmSS, donde yyyy representa el año, MM el mes, DD el día, HH la hora, mm los minutos y SS los segundos. # Autor: JuanObandoDev echo "generating log..." fileName="log$(date +%Y%m%d%H%M%S)" sleep 3 touch $fileName.txt echo "Name: $name" >> $fileName.txt echo "Age: $age years old" >> $fileName.txt echo -e "\n$fileName.txt Content:" cat $fileName.txt
Miguel Angel Reyes Moreno
Estudiante\#!/bin/bash \# Prompt user for date and time components echo "Enter the year (yyyy):" read year echo "Enter the month (MM):" read month echo "Enter the day (DD):" read day echo "Enter the hour (HH):" read hour echo "Enter the minutes (mm):" read minutes echo "Enter the seconds (SS):" read seconds \# Validate input to ensure proper formatting (optional) if \[\[ ! $year =~ ^\[0-9]{4}$ || ! $month =~ ^\[0-9]{2}$ || ! $day =~ ^\[0-9]{2}$ || ! $hour =~ ^\[0-9]{2}$ || ! $minutes =~ ^\[0-9]{2}$ || ! $seconds =~ ^\[0-9]{2}$ ]]; then   echo "Invalid input. Please use the correct formats (e.g., yyyy for year, MM for month, etc.)."   exit 1 fi \# Construct the filename filename="log${year}${month}${day}${hour}${minutes}${seconds}.log" \# Create the log file touch "$filename" echo "Log file '$filename' created successfully."
Cesar Eduardo Lanos Camacho
Estudiantesave_log () {
local backup_file="log_$(date +'%Y%m%d_%H%M%S').txt"
echo -e "\nSalvando la informacion en el log"
echo -e "\nAlmacenando la informacion en el log: ">> "$backup_file"
echo -e "\n Almacenando valor de option: "$1>> "$backup_file"
echo -e "\n Almacenando el valor de result: " $2>> "$backup_file"
echo -e "\n Backup completo: $backup_file"
echo -e "\n"
}
#Reto #5
option=1
result=2
echo $option
echo $result
save_log $option $result
Catherine López
EstudianteMi reto #5
# !/bin/bash # Reto #5 Modificar el archivo utilityHost.sh para escribir la información solicitada a un archivo de log cuyo nombre será log donde yyyy representa el año, MM el mes, DD el día, HH la hora, mm los minutos y SS los segundos # Autor: Catherine Flores option=$1 result=$2 date=$(date "+%Y-%m-%d-%H-%M-%S") read -p "Ingrese un valor: " option read -p "Ingrese un valor: " result echo "Creacion del Archivo" touch fichero_$date.log echo "Escribir en un archivo" cat <<EOM >>fichero_$date.log $option $result EOM echo "Visualizar el contenido del archivo" cat fichero_$date.log echo "Mover archivo a carpeta" mv fichero_$date.log logs_reto5/ ```*resultado*  ![]()
Mario Alexander Vargas Celis
Estudiante# ! /bin/bash # Reto 5 # Autor: Mario Celis - https://www.linkedin.com/in/mario-alexander-vargas-celis/ option=1 result=2 echo "La opción es: $option y el resultado es: $result" >> log-`date +%Y-%m-%d-%H-%M-%S`.log