Hallo, ich versuche mich momentan an einem Skript, was ich leider nicht hinbekomme. In einer Textdatei steht die Jahreszahl und der Wochentag (201804). Das ermittelte Maschinendatum JJJJWW (201805), soll verglichen werden und daraus sollen unterschiedliche Aktionen gemacht werden. Nur den Vergleich bekomme ich nicht hin. Was mache ich falsch? Kann es sein, dass das Maschinendatum ein anderes Format hat?
1 2 3 4 5 6 7 8 9 10 | d=`date +%Y%V` #JJJJWW aus Maschine ermitteln z.B. 201805 WOCHE=~/Vorlagen/Woche.txt VAR=`head -n 1 $WOCHE` #Jahr und Woche auslesen und als Variable speichern echo $VAR echo $d if [ $VAR < $d ] ; then echo "aktueller Wochentag $d ist größer als $VAR " else echo "Das aktuelle Datum $d ist gleich oder kleiner " fi |
gebe ich das Skript über die Konsole ein, erscheint folgendes:
sandra@sandra-E6234 ~ $ d=`date +%Y%V` #JJJJWW aus Maschine ermitteln z.B. 201805 sandra@sandra-E6234 ~ $ WOCHE=~/Vorlagen/Woche.txt sandra@sandra-E6234 ~ $ VAR=`head -n 1 $WOCHE` #Jahr und Woche auslesen und als Variable speichern sandra@sandra-E6234 ~ $ echo $VAR 201804 sandra@sandra-E6234 ~ $ echo $d 201805 sandra@sandra-E6234 ~ $ if [ $d > $VAR ] ; then > echo "aktueller Wochentag $d ist größer als $VAR " > else > echo "Das aktuelle Datum $d ist gleich oder kleiner " > fi aktueller Wochentag 201805 ist größer als 201804 sandra@sandra-E6234 ~ $
stimmt, der Wert 201805 ist größer.
Drehen ich jetzt die Abfrage herum " if [ $VAR < $d ] ; then " kommt folgendes heraus:
sandra@sandra-E6234 ~ $ d=`date +%Y%V` #JJJJWW aus Maschine ermitteln z.B. 201805 sandra@sandra-E6234 ~ $ WOCHE=~/Vorlagen/Woche.txt sandra@sandra-E6234 ~ $ VAR=`head -n 1 $WOCHE` #Jahr und Woche auslesen und als Variable speichern sandra@sandra-E6234 ~ $ echo $VAR 201804 sandra@sandra-E6234 ~ $ echo $d 201805 sandra@sandra-E6234 ~ $ if [ $VAR < $d ] ; then > echo "aktueller Wochentag $d ist größer als $VAR " > else > echo "Das aktuelle Datum $d ist gleich oder kleiner als $VAR " > fi bash: 201805: Datei oder Verzeichnis nicht gefunden Das aktuelle Datum 201805 ist gleich oder kleiner als 201804 sandra@sandra-E6234 ~ $
Ich versteh die Welt nicht, 201804 ist kleiner als 2101805 und nicht umgekehrt. Danke vorab für jede Hilfestellung.
Moderiert von ChickenLipsRfun2eat:
Dieses Thema ist verschoben worden. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“)!