coldzero
Goto Top

Linux Zeit berechnen lassen im Skript schlägt fehl

Hab nen Server in dem ein Script ist um einen OpenVPN Key mit crt´s zu erstellen.

Moin Moin,

diese Keys sollen zu einem bestimmten datum ablaufen!
Dieses Datum setz ich fest im Skript und fertig.

Der Befehl im Scirpt sieht so aus

ANZAHL_TAGE=echo "(`date -d "1 Dec 2012" +%s` - `date +%s`) / 86400" | bc  
echo $ANZAHL_TAGE

das ECHO ist nur solange da bis die erste Line Funktioniert - dient als Kontrolle.

Dieser Fehler wird ausgegeben:


./build-key-pass: line 8: (1354316400 - 1285167616) / 86400: No such file or directory

Und genau das oben angegeben mit ANZAHL_TAGE ist Line 8

Kann wer helfen mit am verzweifeln...

Gurß Zero

Content-ID: 151567

Url: https://administrator.de/contentid/151567

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

6890
6890 22.09.2010 um 19:05:20 Uhr
Goto Top
Tach auch,

du musst eine Kommando-Substitution ausführen um das Ergebnis dieser in eine Variable schreiben zu können. Probier es einfach mal so:

ANZAHL_TAGE=$(echo "($(date -d "1 Dec 2012" +%s) - $(date +%s)) / 86400" | bc)
echo $ANZAHL_TAGE

Dabei erzeugt $() (in der bash equivalent zu `` , aber meiner meinung besser zu lesen) eine subshell in der das Kommando ausgeführt wird. Der Rückgabewert wird dann in deine Variable geschrieben.

MfG
ColdZero
ColdZero 23.09.2010 um 11:49:20 Uhr
Goto Top
Danke klappt einwandfrei und fehlerfrei vorallem - script ist nun fertig!