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-Key: 151567

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

Printed on: April 25, 2024 at 07:04 o'clock

Mitglied: 6890
6890 Sep 22, 2010 at 17:05:20 (UTC)
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
Member: ColdZero
ColdZero Sep 23, 2010 at 09:49:20 (UTC)
Goto Top
Danke klappt einwandfrei und fehlerfrei vorallem - script ist nun fertig!