我想编写一个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 次 |
| 最近记录: |