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
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151567
Url: https://administrator.de/contentid/151567
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar
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:
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
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
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