Ich brauche ein Skript, das die Systemzeit ändert x
Anzahl Minuten So etwas wie:
#time = 12:56 #x = 2 if time_bool: time = time + x #time = 12:58 else: time = time - x #time = 12:54
Es ist ein Teil von Red Hat-Tests, muss aber möglicherweise auf ein anderes Betriebssystem (wahrscheinlich Fedora oder CentOS) verschoben werden.
Antworten:
Du könntest es einfach tun
Die Datumsstringsyntax in
GNU date
ist ziemlich locker und erlaubt viele Dinge.Auf Ubuntu getestet.
quelle
Ein einfacher Weg könnte sein:
(Ungetestet)
Aber ich kann nicht garantieren, dass dies zwischen den USA funktionieren wird
date +%s
ist eine Erweiterung.Das Skript versucht, das aktuelle Datum in UTC abzurufen, es in Sekunden aus der Epoche umzuwandeln, 120 Sekunden hinzuzufügen und dann das Datum aus Unix-Epoche-Sekunden festzulegen.
quelle
$( )
stattdessen und$(( ))
für die Berechnung. Beachten Sie, dass--set
ist auch eine GNU-Erweiterung und akzeptiert die gleichen Formate wie-d
, so--set=@12345
sollte direkt funktionieren.$(
und$((
sind zwei verschiedene Operatoren.$(
führt einen Prozess aus$((
führt Berechnungen durch. Der Operator selbst wird da benötigtdate
führt selbst keine Berechnungen durch, wenn Sie ihm eine geben@timestamp
.