Как обмануть конкретную команду, заставив ее думать, что это другая дата?

23

Как я могу выполнить команду, убедившись, что она не совпадает с системной?

Например, если у меня есть этот скрипт:

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

Это печатает фактическую дату: march 13, 2014

Но я хотел бы напечатать другую дату, в будущем или в прошлом, без изменения системной даты.

Если я не достаточно ясно, я хочу инструмент командной строки, как этот инструмент Windows GUI .


Я не хочу использовать другой скрипт (это был просто пример).
Я не хочу устанавливать cronjob .
Я не хочу менять мою общую системную дату.
Измените только дату, которая применяется к команде для запуска.

Lucio
источник

Ответы:

23

Использование программного обеспечения libfaketime может быть решением

sudo apt-get install faketime
faketime '2006-09-20' wine Example.exe
Кристиан Чиупиту
источник
это подействовало на вино? я тестировал только на родных двоичных файлах; ура
Я только что протестировал его с Wine и получил ошибки LD_PRELOAD в libfaketime.so, поэтому нашел инструмент Windows под названием RunAsDate, который работает с Wine 1.6.2 и выполняет свою задачу
Денис