我是bash的新手。我试图找到答案,但无法找到解决方案。我试图从$yesterday_date
中减去86400,但我最终得到了一个未找到的"命令"错误。
(我知道还有其他方法可以从日期中减去,但我仍然希望解决这个问题。)
脚本部分:
yesterday_date=$(date +%s)
echo $yesterday_date
yesterday_date=$($yesterday_date-86400)
echo $yesterday_date
脚本输出:
1517335264
./myscript.sh: line 11: 1517335264-86400: command not found
问题是什么?感谢。
答案 0 :(得分:2)
Bash为算术运算提供((...))
。您不必在$
之前使用((..))
。
yesterday_date=$(date +%s)
echo "$yesterday_date"
((yesterday_date-=86400))
echo "$yesterday_date"
答案 1 :(得分:0)
你可以让日期做数学运算:
echo $(date -d "now -86400 seconds" +%s)
1517268350
或消除幻数:
echo $(date -d "now -1 day" +%s)
1517268356
甚至更多文字:
echo $(date -d "yesterday" +%s)
1517268364
为了好玩,日期命令甚至还有一个teatime选项。 ;)