欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mac osx date命令

程序员文章站 2024-01-17 20:26:58
...

最近要写一个日志的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://*.com/questions/1401482/yyyy-mm-dd-format-date-in-shell-script