我正在研究这个函数,它基本上可以在两个日期上工作。
一个是当前日期,另一个是一个月前的日期。
代码如下:
dateTale=$(date -d "$(date) - 1 month" +%Y%m%d)
now=$(date +%Y%m%d)
while ["$dateTale" -lt "$now"]
do
$dateTale=$(date -d "$dateTale + 1 day" +%Y%m%d)
echo "adding"
done
如你所见,我正试图增加datetale,直到它达到当前日期,但是我一直收到错误消息:[20120703:找不到命令
我试图从while语句中删除引号,但仍然是相同的错误消息。
但即使解决了,它会计算实际的日期值还是数字值?
有什么建议吗?
最佳答案
使用[
命令时,空格很重要:
while [ "$dateTale" -lt "$now" ]
另外,在分配给变量时不使用“$”(与perl或php不同):
dateTale=$(date -d "$dateTale + 1 day" +%Y%m%d)
关于linux - 如何在Bash的循环中增加日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11797805/