Script Bash simples; Só funciona às vezes?

Script Bash simples; Só funciona às vezes?

Em um dos meus scripts bash onde uso um arquivo para gravar a hora atual do sistema, percebi que a hora correta só é gravada no arquivo a cada segunda vez que o script é executado.

Fiz um segundo script para testá-lo e ele mostra o mesmo comportamento.

O roteiro:

#!/bin/bash
NOW=$(date +"%F_%H:%M:%S")
wtimestamp="/home/pazau/logfiles/overviewer-timestamp"
timestamp=$(<$wtimestamp)

echo $NOW > $wtimestamp

echo $timestamp

O sistema é Ubuntu 14.04 x64 e um Raspberry Pi modelo B com raspbian. O comportamento é o mesmo em ambos os sistemas.

Algo que estou perdendo?

Responder1

O tempo armazenado já está correto, basta reordenar as instruções para obter o que espera:

#!/bin/bash
NOW=$(date +"%F_%H:%M:%S")
wtimestamp="/home/pazau/logfiles/overviewer-timestamp"
echo $NOW > $wtimestamp
timestamp=$(<$wtimestamp)
echo $timestamp

informação relacionada