Je suis nouveau dans la programmation de script bash.
Je souhaite implémenter un script bash "deploymLog", qui accepte en entrée un argument de chaîne (nom).
[[email protected] Desktop]# ./deploymLog.sh name
ici, je veux passer l'argument de chaîne (nom) via la ligne de commande
Dans un premier temps, je dois ajouter l'horodatage actuel avec cette chaîne d'entrée dans un fichier journal, par exemple Logone.txt
dans le répertoire courant au format ci-dessous :
[name]=[System time timestamp1]
Comment est-ce possible ?
Réponse acceptée :
$> 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
Le premier argument d'une ligne de commande peut être trouvé avec le paramètre positionnel $1
. [[ -n "$name" ]]
teste pour voir si $name
n'est pas vide. date +%s
renvoie l'horodatage actuel en heure Unix. Le >>
L'opérateur est utilisé pour écrire dans un fichier en ajoutant aux données existantes dans le fichier.
$> ./deploymLog.sh tt
$> cat Logone.txt
tt=1329810941
$> ./deploymLog.sh rr
$> cat Logone.txt
tt=1329810941
rr=1329810953
Pour un horodatage plus lisible, vous pouvez jouer avec date
arguments.