Jak oszukać określone polecenie, aby pomyślało, że jest to inna data?

23

Jak mogę wykonać polecenie, aby przekonać się, że jest on w innym terminie niż systemowy?

Na przykład, jeśli mam ten skrypt:

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

Drukuje aktualną datę: march 13, 2014

Chciałbym jednak wydrukować inną datę, w przyszłości lub w przeszłości, bez zmiany daty systemowej.

Jeśli nie byłem wystarczająco jasny, chcę narzędzie wiersza polecenia, takie jak to narzędzie GUI systemu Windows .


Nie chcę używać innego skryptu (był to tylko przykład).
Nie chcę ustawiać cronjobu .
Nie chcę zmieniać mojej ogólnej daty systemowej.
Zmień tylko datę dotyczącą polecenia, które ma zostać uruchomione.

Lucio
źródło

Odpowiedzi:

23

Korzystanie z libfaketime oprogramowania mogłoby być rozwiązaniem

sudo apt-get install faketime
faketime '2006-09-20' wine Example.exe
Cristian Ciupitu
źródło
to załatwiło sprawę wina? testowałem tylko na natywnych plikach binarnych; na zdrowie
Właśnie przetestowałem to z Wine i dostałem błędy LD_PRELOAD na libfaketime.so, więc znalazłem narzędzie Windows o nazwie RunAsDate, które działa z Wine 1.6.2 i robi to samo: nirsoft.net/utils/run_as_date.html
Denis Fuenzalida