相关疑难解决方法(0)

date 命令中的“1 个月前”选项如何工作?

我不确定这是否会在当天获得过去的日期,或者是否只需要 30 或 31 天。

例如

如果当前日期是March 28th,则必须是 1 个月前February 28th,但是当它是 时会发生什么March 30th

设想

我想每天备份一些文件,脚本将在当前日期内保存这些文件,$(date +%Y%m%d)格式20150603_bckp.tar.gz为我的条件:

past_month = $(date -d "-1 month" +%Y%m%d)
day = $(date +%d)
if [ "$day" != 01 ] && [ "$day" != 15 ]
then
    rm /path/of/files/${past_month}_bckp.tar.gz
    echo "Depuration done"
else
    echo "Keep file"
fi
Run Code Online (Sandbox Code Playgroud)

但是我想知道,当日期是 30 日、31 日甚至过去的二月示例时会发生什么?它会保留那些文件吗?或删除第一天的文件?

当它是 31 日时,净化将执行,所以如果过去一个月只有 30 天,这将删除第 1 天的文件?

我希望我有所暗示。

coreutils date

29
推荐指数
1
解决办法
6万
查看次数

标签 统计

coreutils ×1

date ×1