fix writing to json file
All checks were successful
Docker Build Smart Logic / Build amd64 & arm64 (push) Successful in 16s
All checks were successful
Docker Build Smart Logic / Build amd64 & arm64 (push) Successful in 16s
This commit is contained in:
@@ -68,13 +68,22 @@ while true; do
|
|||||||
UPDATES_FOUND="${UPDATES_FOUND}Update für $REPO ($EXTRA)\n"
|
UPDATES_FOUND="${UPDATES_FOUND}Update für $REPO ($EXTRA)\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# SICHERES SCHREIBEN:
|
# Wir generieren das neue JSON
|
||||||
# Wir schreiben in eine temporäre Datei und verschieben diese dann.
|
NEW_JSON_CONTENT=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE" 2>&1)
|
||||||
if TEMP_DATA=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE" 2>&1); then
|
JQ_EXIT_CODE=$?
|
||||||
echo "$TEMP_DATA" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
|
|
||||||
echo " 💾 Datei erfolgreich aktualisiert."
|
if [ $JQ_EXIT_CODE -eq 0 ] && [ -n "$NEW_JSON_CONTENT" ]; then
|
||||||
|
# Nur schreiben, wenn jq Erfolg hatte UND Inhalt da ist
|
||||||
|
echo "$NEW_JSON_CONTENT" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
|
||||||
|
echo " 💾 gespeichert."
|
||||||
else
|
else
|
||||||
echo " ❌ JQ FEHLER: $TEMP_DATA"
|
echo " ❌ FEHLER BEIM SPEICHERN!"
|
||||||
|
echo " jq Exit Code: $JQ_EXIT_CODE"
|
||||||
|
echo " jq Output: $NEW_JSON_CONTENT"
|
||||||
|
# Notfall-Reset, falls die Datei korrupt ist, damit es beim nächsten Mal wieder geht
|
||||||
|
if ! jq -e . "$STATE_FILE" >/dev/null 2>&1; then
|
||||||
|
echo "{}" > "$STATE_FILE"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo " ✅ Aktuell."
|
echo " ✅ Aktuell."
|
||||||
|
|||||||
Reference in New Issue
Block a user