
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