我想编写一个bash脚本,它将在下一天的日期运行给定的但是过程数据,我当前的方法是获取unix时间戳并为其添加一些数秒的时间,但我无法让它工作,并且避风港还没找到我在网上寻找的东西.
这是我尝试过的,我觉得问题是它的字符串不是数字,但我不太了解bash确定,这是正确的吗?我该如何解决这个问题?
today="$(date +'%s')"
tomorrow="$($today + 86400)"
echo "$today"
echo "$tomorrow"
Run Code Online (Sandbox Code Playgroud)
$(...)
是命令替换。您正在尝试$today + 86400
作为命令运行。
$((...))
是算术展开。这就是你想要使用的。
tomorrow=$(( today + 86400 ))
Run Code Online (Sandbox Code Playgroud)
另请参阅http://mywiki.wooledge.org/ArithmeticExpression,了解有关在 shell 中进行算术的更多信息。
该问题的某些答案取决于是否安装了GNU日期。如果您没有GNU日期,则可以使用date
带有该-v
选项的内置命令。
命令
$ date -v+1d
返回明天的日期。
您可以将其与所有标准date
格式选项一起使用,因此
$ date -v+1d +%Y-%m-%d
以YYYY-MM-DD格式返回明天的日期。
归档时间: |
|
查看次数: |
9631 次 |
最近记录: |