是否有一个包或方法可以运行具有特定日期或时间的软件,以便当您运行它时,它使用您输入的日期而不是系统日期。
答案1
这faketime
命令正是这样做的。
$ date
Wed Nov 18 16:10:38 EST 2020
$ faketime 'next week' date
Wed Nov 25 16:10:42 EST 2020
$ faketime '1970-01-01 7:30 UTC' date
Thu Jan 1 02:30:00 EST 1970
默认情况下,程序运行时faketime
仍会以通常的方式经历时间的流逝,只是从您指定的时间开始。
$ faketime '2004-10-20 11:06:23 CDT' bash -c 'for i in {1..5}; do date; sleep 1; done'
Wed Oct 20 12:06:23 EDT 2004
Wed Oct 20 12:06:24 EDT 2004
Wed Oct 20 12:06:25 EDT 2004
Wed Oct 20 12:06:26 EDT 2004
Wed Oct 20 12:06:27 EDT 2004
这些示例与date
命令一起用于说明目的,但faketime
将运行您指定的任何命令。