Як обманути певну команду, думаючи, що це інша дата?


23

Як я можу виконати команду, змусивши її вважати, що це інша дата, ніж системна?

Наприклад, якщо у мене є цей сценарій:

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

Він друкує фактичну дату: march 13, 2014

Але я хотів би, щоб він надрукував іншу дату на майбутнє чи минуле, не змінюючи дату системи.

Якщо я не був достатньо чіткий, я хочу інструмент командного рядка, як цей інструмент інтерфейсу Windows .


Я не хочу використовувати інший сценарій (це був лише приклад).
Я не хочу ставити кроні .
Я не хочу змінювати свою загальну системну дату.
Змініть лише дату, яка застосовується до команди для запуску.

Відповіді:


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 і робить фокус: nirsoft.net/utils/run_as_date.html
Денис
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.