Shell Datum vergleichen nicht möglich (date als String)

I

infinity331

Jungspund
Hallo Kollegen und Kolleginnen,

ich habe folgendes Problem, welches mich gleichzeitig an zwei Stellen nicht weitermachen lässt. Es handelt sich um den Vergleich eines Datum, bzw. die Weitergabe eines date-Werts als String.

Code:
#!/bin/sh

VAR1=$(date +%M) 

if "$VAR1" = "00"
   then echo "Es ist 00 Minuten."
fi

Ich wollte mit diesem Code nun schauen, ob die Uhrzeit 00 Minuten beinhaltet und daraufhin einfach eine Ausgabe machen. An anderer Stelle sieht es ein wenig komplizierter aus, der Fehler ist aber genauso. Es ist nicht möglich den Wert der date - Funktion über eine Variable weiter- bzw. auszugeben. Denn es kommt folgende Fehlermeldung.

# sh testif.sh
testif.sh: 7: 12: not found

Die 12 entspricht dem aktuellen Minutenstand, denn es ist 09:12 Uhr.

Ich hoffe ihr könnt mir weiterhelfen.

LG, infinity331
 
"=" ist doch ein Zuweisung?!

Sorry, falls ich Verwirrung gestiftet habe


//Edit:
nochmal sorry, hab meinen eigenen Link zu Ende gelesen :D
 
Vielen Dank, der Beitrag von HeadCrash hat mir geholfen. Allerdings habe ich ähnliches Problem an einer anderen Stelle.
Ich nutze RRDtool und würde da in einen COMMENT (rrdgraph) welcher nur normalen Text ausgibt das Datum ausgeben, allerdings bekomme ich die Fehlermeldung:

ERROR: Could not make sense out of ' '

Ich dachte der Fehler kommt aus dem selbigen Grund, wie obiger. Allerdings scheint dies ja nun doch nicht so zu sein. Schade.
 
Die Fehlermeldung ist ja schon mal ein Ansatz, aber der entsprechende Aufruf dazu wäre sicherlich hilfreich.

Ohne jetzt wirklich viel Ahnunf von RRDtool und Co zu haben würde ich Aufgrund deiner Fehlermeldung sagen, dass ihm eine Variable fehlt, anders kann ich mir die beiden ' am ende der Meldung erstmal nicht erklären.

mfg
HeadCrash
 
Der komplette Vorgang wird in einem Skript abgearbeitet, deswegen schreibe ich hier nur dich wichtigsten Punkte rein.

Code:
#!/bin/sh
...

STARTDL=$(date +%H:%M)
...

nice -n 19 /usr/bin/rrdtool graph /home/user/Desktop/Archiv/$DATE/$TIME/server.png \
--start -$SHOWTIME -a PNG -t "server Performance" --vertical-label "Bit" -w 600 -h 200 \ 
-M DEF:serverr=/root/scripts/rrdtool/server.rrd:serverr:AVERAGE COMMENT:" \n" [B]COMMENT:" $STARTDL "[/B] \
COMMENT:"					          Average						Maximum\n"  \
LINE1:serverr#00dd00:"Download" VDEF:serverra=serverr,AVERAGE VDEF:serverrm=serverr,MAXIMUM GPRINT:serverra:"%16.2lf %sbit/s" GPRINT:serverrm:"%16.2lf %sbit/s\j" DEF:servert=/root/scripts/rrdtool/server.rrd:servert:AVERAGE \
LINE1:servert#0000ff:"Upload  " VDEF:serverta=servert,AVERAGE VDEF:servertm=servert,MAXIMUM GPRINT:serverta:"%12.2lf %sbit/s" GPRINT:servertm:"%12.2lf %sbit/s\j" \
COMMENT:" \n" COMMENT:"$(/bin/date "+%d.%m.%Y %H\:%M\:%S")\c" > /dev/null

Ich schätze, das die Datumsangabe nicht korrekt als String ausgegeben wird. Kann das sein?
 

Ähnliche Themen

Last mit etc/passwd anzeigen lassen

Zurück
Oben