Làm thế nào để lừa một lệnh cụ thể nghĩ rằng đó là một ngày khác nhau?


23

Làm thế nào tôi có thể thực thi một lệnh khiến nó tin rằng vào một ngày khác với hệ thống?

Ví dụ: nếu tôi có tập lệnh này:

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

Nó in ngày thực tế: march 13, 2014

Nhưng tôi muốn nó in một ngày khác, về tương lai hoặc quá khứ, mà không thay đổi ngày hệ thống.

Nếu tôi không đủ rõ ràng, tôi muốn có một công cụ dòng lệnh như công cụ GUI Windows này .


Tôi không muốn sử dụng một tập lệnh khác (nó chỉ là một ví dụ).
Tôi không muốn thiết lập một cronjob .
Tôi không muốn thay đổi ngày hệ thống chung của tôi.
Chỉ thay đổi ngày áp dụng cho lệnh để chạy.

Câu trả lời:


23

Sử dụng phần mềm libfaketime có thể là một giải pháp

sudo apt-get install faketime
faketime '2006-09-20' wine Example.exe

Nó đã lừa được rượu? tôi đã thử nghiệm chỉ trên nhị phân bản địa; chúc mừng

Tôi vừa thử nghiệm nó với Wine và tôi đã gặp lỗi LD_PRELOAD trên libfaketime.so, vì vậy tôi đã tìm thấy một công cụ windows có tên RunAsDate hoạt động với Wine 1.6.2 và thực hiện thủ thuật: nirsoft.net/utils/run_as_date.html
Denis Fuenzalida
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.