如何执行带有旧日期的 .sh 程序

如何执行带有旧日期的 .sh 程序

我如何制作一个 .sh 文件,以便它在旧日期运行另一个 .sh 文件,例如......

将日期设置为 2014/06/03 运行 .sh 文件将日期设置回实际时间

答案1

使用此预加载库https://github.com/wolfcw/libfaketime...你需要从源代码编译它,但一切都有很好的记录

它可能无法与商业软件一起使用以欺骗试用期等。您可以指定时间:绝对时间或相对时间...绝对时间的缺点已在文档中介绍。总的来说,它效果很好...

答案2

您可以使用date -s STRINGdate --set=STRING,其中字符串是人类可读格式的日期,例如date --set="2014-06-02"。来自man date

DATE STRING

The  --date=STRING  is  a mostly free format human readable date string
such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29  16:21:42"  or
even  "next Thursday".  A date string may contain items indicating calendar date, time of day, time zone, day of week, relative  time,  relative date, and numbers.

相关内容