Bagaimana mengelabui perintah tertentu agar berpikir itu adalah tanggal yang berbeda?

23

Bagaimana saya bisa mengeksekusi perintah yang membuatnya percaya bahwa ada pada tanggal yang berbeda dari yang satu?

Misalnya, jika saya memiliki skrip ini:

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

Ini mencetak tanggal aktual: march 13, 2014

Tapi saya ingin mencetak tanggal yang berbeda, di masa depan atau masa lalu, tanpa mengubah tanggal sistem.

Jika saya tidak cukup jelas, saya ingin alat baris perintah seperti alat Windows GUI ini .


Saya tidak ingin menggunakan skrip yang berbeda (itu hanya contoh).
Saya tidak ingin mengatur cronjob .
Saya tidak ingin mengubah tanggal sistem umum saya.
Hanya ubah tanggal yang berlaku untuk menjalankan perintah.

Lucio
sumber

Jawaban:

23

Menggunakan perangkat lunak libfaketime bisa menjadi solusi

sudo apt-get install faketime
faketime '2006-09-20' wine Example.exe
Cristian Ciupitu
sumber
apakah itu trik pada anggur? Saya menguji hanya pada binari asli; cheers
Saya baru saja mengujinya dengan Wine dan saya mendapatkan kesalahan LD_PRELOAD di libfaketime.so, jadi saya menemukan alat windows yang disebut RunAsDate yang bekerja dengan Wine 1.6.2 dan melakukan trik: nirsoft.net/utils/run_as_date.html
Denis Fuenzalida