Soy nuevo en la programación de guiones bash.
Quiero implementar un script bash 'deploymLog', que acepta como entrada un argumento de cadena (nombre).
[[email protected] Desktop]# ./deploymLog.sh name
aquí quiero pasar el argumento de cadena (nombre) a través de la línea de comando
Como paso inicial, necesito agregar la marca de tiempo actual junto con esta cadena de entrada a un archivo de registro, digamos Logone.txt
en el directorio actual en el siguiente formato:
[name]=[System time timestamp1]
¿Cómo es posible?
Respuesta aceptada:
$> cat ./deploymLog.sh
#!/bin/bash
name=$1
log_file="Logone.txt"
if [[ -n "$name" ]]; then
echo "$1=$( date +%s )" >> ${log_file}
else
echo "argument error"
fi
El primer argumento de una línea de comando se puede encontrar con el parámetro posicional $1
. [[ -n "$name" ]]
pruebas para ver si $name
no está vacío. date +%s
devuelve la marca de tiempo actual en tiempo Unix. El >>
El operador se utiliza para escribir en un archivo agregando los datos existentes en el archivo.
$> ./deploymLog.sh tt
$> cat Logone.txt
tt=1329810941
$> ./deploymLog.sh rr
$> cat Logone.txt
tt=1329810941
rr=1329810953
Para obtener una marca de tiempo más legible, puede jugar con date
argumentos.