【发布时间】:2014-02-12 16:45:28
【问题描述】:
我有以下 bash 脚本来增加分配的日期:DATE。
#!/usr/local/bin/bash
DATE=20130625
for i in {1..10}
do
NEXT_DATE=$(date +%Y%m%d -d "$DATE + $i day")
echo $i $NEXT_DATE
done
但是,它只是重复打印今天的日期,如下所示。
1 20140122
2 20140122
3 20140122
4 20140122
5 20140122
6 20140122
7 20140122
8 20140122
感谢任何帮助。顺便说一句,操作系统是 Solaris 11。谢谢。
【问题讨论】:
-
你检查过你的 Solaris 上的
date,如果它是 Gnu 日期吗?是否支持-d'+x day'表达式? -
我在 ubuntu 上并且无法复制此错误,所以是的,这可能是 Solaris 11 上的
date的问题?此外,不确定它是否是一种类型,但应该清楚有什么事情发生了,因为它甚至没有重复您开始使用的 $DATE,而是今天的日期。 -
一般不会,应该是这个原因。
-
其实操作系统是x86 Solaris 10。试过命令“date +%Y%m%d -d”20130625 + 1 day”得到“20140122”。另外,试过:“date - d "last friday" "+%Y%m%d"" 并得到 "date: 非法选项 -- d 用法:date [-u] mmddHHMM[[cc]yy][.SS]。日期 [-u] [+格式] 日期 -a [-]sss[.fff]。任何有关调试或解决方法的帮助都会很棒
-
是否有可以从 sunfree.com 下载的实用程序进行修复。我看了看,却认不出一个。谢谢