Sono nuovo nella programmazione di script bash.
Voglio implementare uno script bash 'deploymLog', che accetta come input un argomento stringa (nome).
[[email protected] Desktop]# ./deploymLog.sh name
qui voglio passare l'argomento della stringa (nome) tramite la riga di comando
Come passaggio iniziale, devo aggiungere il timestamp corrente insieme a questa stringa di input a un file di registro, ad esempio Logone.txt
nella directory corrente nel formato seguente:
[name]=[System time timestamp1]
Com'è possibile?
Risposta accettata:
$> 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
Il primo argomento da una riga di comando può essere trovato con il parametro posizionale $1
. [[ -n "$name" ]]
verifica se $name
non è vuoto. date +%s
restituisce il timestamp corrente nell'ora Unix. Il >>
operatore viene utilizzato per scrivere su un file aggiungendo i dati esistenti nel file.
$> ./deploymLog.sh tt
$> cat Logone.txt
tt=1329810941
$> ./deploymLog.sh rr
$> cat Logone.txt
tt=1329810941
rr=1329810953
Per un timestamp più leggibile puoi giocare con date
argomenti.