mac osx date命令

最近要写一个日志的rotate策略,初步计划是用shell搞一个cron任务跑一跑。

rotate策略就涉及到时间,比如说要获取当前时间的前一天,在linux上可以使用命令:

YESTERDAY=$(date -d "1 day ago" +"%Y%m%d")
echo $YESTERDAY

## output
20190411

我开发用mbp,但是server上跑的是类centos的发行版,使用上述的脚本命令,并不能在我的mac上测试。

这是因为OSX和Linux使用两套不同的工具。 Linux使用GNU版本的date命令,而OSX是BSD系的。

为了编写的脚本在服务器上能跑,我的想法是在mac上装一个gnu版的date。好在这个想法并不难实现:

brew install coreutils

默认会使用gdate命令表示gnu-date,可以做一个date命令的重定向或者alias覆盖mac上的date命令。

参考

http://www.jibing57.com/2017/08/03/date-command-on-Linux-and-Mac/

https://stackoverflow.com/questions/1401482/yyyy-mm-dd-format-date-in-shell-script

你可能感兴趣的:(mac osx date命令)