Wie kann man einen bestimmten Befehl so täuschen, dass er für ein anderes Datum steht?

23

Wie kann ich einen Befehl ausführen, der den Eindruck erweckt, dass er sich an einem anderen Datum als auf dem ersten System befindet?

Zum Beispiel, wenn ich dieses Skript habe:

#!/usr/bin/env bash    
date +"%B %d, %Y"

Es gibt das aktuelle Datum aus: march 13, 2014

Ich möchte jedoch, dass ein anderes Datum in der Zukunft oder Vergangenheit gedruckt wird, ohne das Systemdatum zu ändern.

Wenn ich nicht klar genug war, möchte ich ein Befehlszeilentool wie dieses Windows-GUI-Tool .


Ich möchte kein anderes Skript verwenden (es war nur ein Beispiel).
Ich möchte keinen Cronjob einstellen .
Ich möchte mein allgemeines Systemdatum nicht ändern.
Ändern Sie nur das Datum, das für den auszuführenden Befehl gilt.

Lucio
quelle

Antworten:

23

Die Verwendung der libfaketime- Software könnte eine Lösung sein

sudo apt-get install faketime
faketime '2006-09-20' wine Example.exe
Cristian Ciupitu
quelle
es hat den Trick auf Wein gemacht? Ich habe nur auf nativen Binärdateien getestet. prost
Ich habe es gerade mit Wine getestet und LD_PRELOAD-Fehler auf libfaketime.so erhalten. Daher habe ich ein Windows-Tool namens RunAsDate gefunden, das mit Wine 1.6.2 funktioniert und den Trick ausführt
Denis Fuenzalida