#!/bin/bash
mdate="$(date | awk '{print $2$3}')";
cd /var/tmp/precheck;
found="$(ls -l *.txt | awk '{print $6$7}')"
for txtdate in $found
do
if [ $mdate = $txtdate ]; then
echo "Pre-Check Success"
else
echo "Pre-Check FAILURE"
fi
done
In dem obigen Skript, TXT-Dateien mit dem aktuellen Datum überprüft. Wenn der Datumsstempel übereinstimmt, gibt es SUCCESS sonst FAILURE zurück.shell scripting BASH
Hier funktioniert es für mich außer es gibt Bedingung für alle Dateien zurück. Ich brauche nur eine Bedingung zurückzugeben: entweder ERFOLG oder FAILURE.
Wenn eine der Dateien nicht mit dem aktuellen Datumsstempel übereinstimmt, sollte eine Fehlerbedingung zurückgegeben werden. Wenn alle Übereinstimmungen vorhanden sind, sollte nur eine SUCCESS-Bedingung zurückgegeben werden.
Führen Sie ein Flag namens DATE_FAIL ein und setzen Sie es bei jedem Eintrag Ihres else-Zweigs auf 1 und beenden Sie es früh. Überprüfen Sie dieses Flag beim Verlassen der Schleife. – jdv
Siehe auch: https://Stackoverflow.com/q/2237080/1531971 und https://Stackoverflow.com/q/18488651/1531971 – jdv
Bitte versuchen Sie und verbessern Sie Ihren Titel, im Moment ist es sehr vage. –