我如何制作一个 .sh 文件,以便它在旧日期运行另一个 .sh 文件,例如......
将日期设置为 2014/06/03 运行 .sh 文件将日期设置回实际时间
答案1
使用此预加载库https://github.com/wolfcw/libfaketime...你需要从源代码编译它,但一切都有很好的记录
它可能无法与商业软件一起使用以欺骗试用期等。您可以指定时间:绝对时间或相对时间...绝对时间的缺点已在文档中介绍。总的来说,它效果很好...
答案2
您可以使用date -s STRING
或date --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.