Einfaches Bash-Skript; Funktioniert nur manchmal?

Einfaches Bash-Skript; Funktioniert nur manchmal?

In einem meiner Bash-Skripte, in dem ich eine Datei zum Schreiben der aktuellen Systemzeit verwende, ist mir aufgefallen, dass die richtige Zeit nur bei jedem zweiten Ausführen des Skripts in die Datei geschrieben wird.

Ich habe zum Testen ein zweites Skript erstellt und es zeigt das gleiche Verhalten.

Das Skript:

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

echo $NOW > $wtimestamp

echo $timestamp

Das System ist Ubuntu 14.04 x64 und ein Raspberry Pi Modell B mit Raspbian. Das Verhalten ist auf beiden Systemen gleich.

Verpasse ich etwas?

Antwort1

Die gespeicherte Zeit ist bereits korrekt. Sie müssen lediglich die Anweisungen neu anordnen, um das erwartete Ergebnis zu erhalten:

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

verwandte Informationen